On Tue, Nov 15, 2005 at 10:48:56PM +0000, Thiago Silva wrote: > ... > So, __autload has to *try* include_once's. Something like that: > > function __autoload($className) { > include_once("${className}.php"); > if(class_exists($className, false)) return; > > include_once("${className}.class.php"); > if(class_exists($className, false)) return; > > die("class not found: $className"); > } > > Then, loading Smarty would generate a warning message because the first > include_once tries to load Smarty.php (wich doesn't exists). > > ... > Having explained the problem, I would like to know: > > 1: Is there an elegant way to resolve this? For third party classes I usually extend it myself with my own naming convention, so like with smarty I would create a class like: Template.php: <?php require_once('path/where/smartyis.php'); class Template extends Smarty { } > > 2: What happened to php_check_syntax? It was removed for technical reasons. one option is to use: http://php.net/runkit > 3: What was the final word about include() behavior regarding E_PARSE error? > Reading and searching the bug database, I read some posts that seemed to > indicate that include() should *not* halt on E_PARSE errors, but then, php5 > does halt the execution. > > 4: Halting the execution on E_PARSE error generated through an include() is > a coherent/expected behavior? (it doesn't seem to me). > > 5: Why? (depending on the answer to that question, I'll head to > bugs.php.net). This does seem odd. http://bugs.php.net/bug.php?id=31736 It seems it was fixed then, although 5.1 seems to be broke for me. 5.0 is fine. Curt. -- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php