有三个文件:common.php,controller.php和user.php。
文件common.php看起来像:
<?php
define("MAXIMUM_NAME_LENGTH", 50);
?>
文件controller.php看起来像:
<?php
include("common.php");
include("user.php");
$user = new user();
?>
文件user.php看起来像:
<?php
class user{
private $var = MAXIMUM_NAME_LENGTH;
}
?>
执行脚本时会发出通知:注意:使用未定义的常量MAXIMUM_NAME_LENGTH - 在xxx行的/.../controller.php中假设为“MAXIMUM_NAME_LENGTH”。我想在common.php中共享其他文件之间的定义值。如何以适当的方式做到这一点?
答案 0 :(得分:1)
通常,您将使用将要使用它们的文件包含的所有定义。 IE:在你的例子中,让类文件有一个$class->setMaxNameLength();
方法并通过那里传递名称长度define,这样就不会给你一个错误。
答案 1 :(得分:1)
在error_reporting(E_ALL);
之前放置include("common.php");
行。
很可能你会看到类似的东西:
Warning: include(common.php) [function.include]: failed to open stream: No such file or directory in xxx
表示您的三个文件不在同一个文件夹中,或者在include_path
中不在其中的路径中,或者它们的组合中。
修改强>
如果您使用Suhosin,请检查suhosin.executor.include.*
设置。