有三个文件:common.php、controller.php和user.php。
文件通用.php如下所示:
<?php
define("MAXIMUM_NAME_LENGTH", 50);
?>
文件控制器.php如下所示:
<?php
include("common.php");
include("user.php");
$user = new user();
?>
文件用户.php看起来像:
<?php
class user{
private $var = MAXIMUM_NAME_LENGTH;
}
?>
执行脚本时,请注意:使用未定义的常量MAXIMUM_NAME_LENGTH - 假设/.../controller .php 第 xxx 行中的"MAXIMUM_NAME_LENGTH"。我想在其他文件之间共享共同.php定义的值。如何以正确的方式做到这一点?
您将使用它们的文件包含所有定义。 IE:在你的例子中,让类文件有一个$class->setMaxNameLength();
方法,并通过那里传递名称长度定义,这样它就不会给你一个错误。
将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.*
设置。