"Use of undefined constant"注意,但应定义常量



有三个文件: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.*设置。

最新更新