Я спрашиваю что-то вроде объявления переменной окружения в Apache для PHP как

SetEnv SITE_MAIN_DIR "/var/www/www.mydomain.com/"

Это я могу получить доступ в любом месте на сайте, и это прекрасно работает.

echo $_SERVER['SITE_MAIN_DIR']

Похоже ли это на PHP для глобальных классов, так что мне не нужно использовать include /dir/class.php;

{{Х0}} без использования включить?

php
2
Saud Iqbal 21 Дек 2019 в 05:17
3
Вы можете настроить автозагрузчик, если имена ваших классов могут быть сопоставлен с логической структурой файлов / папок
 – 
rickdenhaan
21 Дек 2019 в 05:22
Нет, для включения классов из кода PHP всегда требуется какое-либо включение. Автозагрузка может использоваться для автоматизации включения, когда это необходимо, и приходит composer со встроенным автозагрузчиком. Можно использовать только встроенные модули PHP без их предварительного включения
 – 
apokryfos
21 Дек 2019 в 12:11
Все в порядке, мне было просто любопытно, в PHP около 3000 функций, и я хотел добавить свою, чтобы мне не приходилось все время использовать include'class.php 'и напрямую вызывать класс. Ничего особенного, просто в голову пришла мысль.
 – 
Saud Iqbal
21 Дек 2019 в 22:10

2 ответа

Вы можете использовать getenv()

echo getenv(SITE_MAIN_DIR);   

https://www.php.net/manual/en/function.getenv.php

Но я бы рассмотрел использование автозагрузчика.

2
Jay Blanchard 21 Дек 2019 в 05:24

В PHP 7.4 есть новая функция, называемая предварительная загрузка opcache , может это то, что Вы ищете.

0
Roman Hocke 21 Дек 2019 в 13:13