существует три файла: 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(); ?>
в<?php include("common.php"); include("user.php"); $user = new user(); ?>
в<?php include("common.php"); include("user.php"); $user = new user(); ?>
Файл user.php выглядит так:
<?php class user{ private $var = MAXIMUM_NAME_LENGTH; } ?>
При выполнении скрипта выдается уведомление: Примечание: использование неопределенной константы MAXIMUM_NAME_LENGTH – предполагается «MAXIMUM_NAME_LENGTH» в /…/controller.php в строке xxx. Я хочу поделиться определенными значениями в common.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.*
.