On Wed, 2006-08-02 at 17:14 -0500, Richard Lynch wrote: > On Sat, July 15, 2006 9:47 pm, Robert Cummings wrote: > > This has some really good implications for helping PHP users get the > > line numbers more correct. For instance, from what I gather, my > > template > > engine can use this to dynamically generate PHP code from an XML tag > > and > > when the generated code fails due to some syntax error based on the > > tag's attributes, If my engine included this directive then the engine > > will tell them in what included template source file and on what line > > they screwed up rather than them seeing an error that has no obvious > > relationship whatsoever to what they did (did I get that right > > Marcus?). > > So, what would the code look like that fixes this issue, from the > sample posted? > > It seems to me like you're still going to get an error message about > the right line number, but in the wrong file name. > > Or is #file also going in with #line, so your template engine can > forge the filename for __FILE__ to the included file? I can see that > working to solve this for you.
A file specification will also be part of the line directive. I believe Marcus mentioned that in one of his posts. > Working backwards from generated code to source files in templates is > never fun, but solving this in PHP code instead of the template itself > seems like a case of killing a fly with a cannon. It can't be properly solved in PHP land without hacks that are still not as useful as the line directive. > It may make life a tiny bit easier for the experts, but I suspect > #line is going to be abused by the naive to make life hell on the > masses... I don't think the naive will go near it. They would need someone to tell them about it :) Of course, I'm sure it will happen, but that's why documentation exists. Cheers, Rob. -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------' -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php