Видимость константы

константы должны быть видны в любом месте кода? /inc -const.php /app -app.php почему их не видно в апп без инклюда?
5 ответов

Ну наверное потому что без инклуда и скрипт то не запускается, и константа не объявляется


а можно как то через сет_инклюд_патч сделать что бы они были видны во всех скриптах без инклюда? ну как __ФАЙЛ__ и т.п.?


а можно как то через сет_инклюд_патч сделать что бы
set_include_path лишь говорит, откуда надо будет брать, но не говорит идти и брать.Выносите константы в классы и подключайте их через autoload:
class Foo {
    const LOREM = 42;
    const IPSUM = 37;
}


Выносите константы в классы и подключайте их через autoload
рискну добавить, что возможно лучше будет через sp_autoload


casual_visitor, Конечно, лучше: http://php.net/manual/ru/language.oop5.autoload.php
spl_autoload_register() предоставляет более гибкую альтернативу для автоматической загрузки классов. По этой причине использовать __autoload() не рекомендуется, а сама функция в будущем может перестать поддерживаться или быть удалена.