【发布时间】:2011-02-09 06:26:51
【问题描述】:
我正在将 php 应用程序从程序迁移到 oop。
我使用一个 DEBUG 常量来激活错误和警告输出(事实上,我有你,每个都使输出更详细。
但我找不到从方法中访问这些常量的方法。
常量在自动加载之前定义在一个单独的文件中。
在我拥有的实用程序文件中
define('DEBUG', TRUE);
在给定的方法中,我尝试了
if(!defined('DEBUG')) define('DEBUG', FALSE);
但我总是以 DEBUG=FALSE 结束。
我究竟做错了什么?我是个 oop 的菜鸟,所以请温柔一点:-)
澄清
每个班级都有自己的文件。
在任何给定的脚本中,我要做的第一件事就是包含实用程序文件。实用程序文件是定义DEBUG并具有_autoload功能的文件。
script_file.php
includes utility_file.php
defines DEBUG
has _autoload function
【问题讨论】:
-
通常定义在任何地方都可用。看来,您的文件加载有问题。
-
所以实用程序定义了常量 DEBUG,那么 _autoload 函数是怎么回事?检查是否定义了 DEBUG 的函数在哪里?是自动加载功能吗?还是在包含之后的某个地方?
-
自动加载需要的类。这些类中的方法是尝试使用 DEBUG 的方法