PHP的魔术常量有哪些最佳实践用法,例如__LINE__
、__FILE__
、__FUNCTION__
、__CLASS__
和__METHOD__
?
例如,我使用__LINE__
和__CLASS__
来定位SQL错误,如下所示:
$result = mysql_query($query)
or die("Error SQL line ".__LINE__ ." class ".__CLASS__." : ".mysql_error());
这是一个可接受的做法吗?
PHP的魔术常量有哪些最佳实践用法,例如__LINE__
、__FILE__
、__FUNCTION__
、__CLASS__
和__METHOD__
?
例如,我使用__LINE__
和__CLASS__
来定位SQL错误,如下所示:
$result = mysql_query($query)
or die("Error SQL line ".__LINE__ ." class ".__CLASS__." : ".mysql_error());
__CLASS__
会在错误发生在继承类中时显示错误结果。使用get_class($this)
来获取实际当前类。__FUNCTION__
和__CLASS__
自PHP4.3版本加入。__METHOD__
从PHP5.0.0版本开始可用。__DIR__
和__NAMESPACE__
从PHP5.3版本开始可用。__DIR__
是在 PHP 5.3 中添加的,而不是 5.0。 - salmatron这些常量的目的是用于调试和日志记录。这正是您所做的。
__FILE__
也可以用于相对文件路径(例如,dirname(__FILE__)
)。
__DIR__
的魔术常量,它等同于 dirname(__FILE__)
。 - Crozinif(defined('__MAGIC_CONSTANT__'))
。