我正在将一个php应用程序从procedural迁移到oop。
我使用DEBUG常量来激活错误和警告输出(实际上,我有三个常量,每个常量都会使输出更加冗长。
但是我找不到从方法内部访问这些常量的方法。
在单独的文件中自动加载之前定义常量。
在我的实用程序文件中
define('DEBUG', TRUE);在给定的方法中,我尝试
if(!defined('DEBUG')) define('DEBUG', FALSE);但我总是以DEBUG=FALSE收场。
我做错了什么?我是个新手,所以请温文点:-)
澄清
每个类都有自己的文件。
在任何给定的脚本中,我要做的第一件事就是包含实用程序文件。实用程序文件是定义调试并具有_autoload函数的文件。
script_file.php
includes utility_file.php
defines DEBUG
has _autoload function发布于 2011-02-09 17:53:35
darkphoenix是对的,这不是OOP问题。这是一个NetBeans问题。
我使用NetBeand并在保存时将文件上传到远程服务器。我在实用程序文件中将DEBUG常量设置为TRUE,并在NetBeans上点击保存,保存过程(显然)没有任何问题(没有警告或任何东西)。
当我通过SSH登录时,在文件上做了一个猫,这让我很惊讶。该文件从未保存到服务器。我的本地副本有我最后的编辑,但远程副本没有...
这个故事的寓意:I hate you NetBeans
发布于 2011-02-09 14:37:59
根据this的说法,你应该在你的代码中直接访问DEBUG (没有前缀$)。您是否将您的实用程序文件包含在具有您所讨论的功能的同一文件中,或者要求将其包含在同一文件中?我不认为这是一个面向对象的问题
https://stackoverflow.com/questions/4941938
复制相似问题