как в начале файла создать правильно консанту чтобы во всех классах ее использовать?
вот так работает
//2. Подключение файлов системы
define(ROOT, dirname(__FILE__));
require_once(ROOT.'/components/Autoload.php');
но Warning: Use of undefined constant ROOT - assumed 'ROOT' (this will throw an Error in a future version of PHP)
Ответы (1 шт):
Если вы обратите внимание на номер строки, в котором выдается данное предупреждение, то заметите, что указывает он на строку define, а не на require_once.
Если вы пойдете еще дальше, и переведете сообщение, то увидите, что там написано "неизвестная константа ROOT, предполагается 'ROOT'".
Параметром директивы define является строка с названием константы. А строковый летерал заключается в кавычки. Когда интерпретатор видит нечто без кавычек, то он ищет такую константу и не находит ее. Далее он пишет, что раз уж константа не нашлась, препдоложим, что это строка, ругается и заменяет это дело на "ROOT". Так что в целом далее код работает.
Поэтому исправьте ваше define(ROOT, ...) на define('ROOT', ...)