如果 __autoload 中的文件有语法错误,则脚本将停止而不显示消息
Posted
技术标签:
【中文标题】如果 __autoload 中的文件有语法错误,则脚本将停止而不显示消息【英文标题】:If the file in __autoload has a Syntax Error, then the script stops without show a message 【发布时间】:2011-04-17 11:12:57 【问题描述】:我为自动加载类定义了一个 __autoload 函数,如果该文件有语法错误,脚本会停止,只是停止......没有错误......
function __autoload( $var_class )
require_once( "$var_class.php" );
echo "Before load...";
new ClassName();
echo "Hello world...";
输出:
加载前...
如何显示语法错误?
【问题讨论】:
ClassName.php 有语法错误... 看起来您回答了自己的问题。对于未来,您可以确保启用错误以查看它是什么:error_reporting(E_ALL) ; ini_set('display_errors', 1)
。
问题是......“如何显示 de SYNTAX ERROR?” ...正常流程,我启用了error_reporting,ini_set也是......
那么 Fanis 已经回答了你的问题。
OK 这个例子有效,但在我的代码中不...我不知道...
【参考方案1】:
为我显示错误:
class ClassName
public function __construct()
$line = $error
echo 'Contructor' . "\n";
输出:
Before load...
Parse error: syntax error, unexpected T_ECHO in ClassName.php on line 8
查看 Fanis 的评论。
【讨论】:
不起作用,我不知道发生了什么,我做了一个类似this question的示例,并显示了错误,但不在我的代码中...... 我不知道这有什么问题,但我解决了将Fani的指令放在自动加载函数中......为什么在全局范围内不起作用?以上是关于如果 __autoload 中的文件有语法错误,则脚本将停止而不显示消息的主要内容,如果未能解决你的问题,请参考以下文章
php __autoload 在有命名空间的时候失效(使用的局限性)
spl_autoload_register与autoload的区别详解
PHP中spl_autoload_register函数的用法