"Вес" переменной

интернет компьютеры php алгоритмы дерево решений

В процессе написания одного скрипта у меня возникла проблема с загрузкой плагинов. Дело в том, что плагины могут зависеть друг от друга и при включении одного из плагинов необходимо проверять, включены ли другие плагины, от которых зависит этот. При загрузке скрипта необходимо включить все плагины, но сделать это надо в правильном порядке, чтобы все зависимости были удовлетворены. В голову пришел такой алгоритм: создается дерево зависимостей и все загружается с конца(т.е. с тех плагинов, которые не зависят от других). Однако попробовав реализовать это на практике скрипт выполнял эту задачу слишком долго. Также, интересно, что делать если два плагина зависят друг от друга?

Примечание:
to Wolfy-J:
Тоесть, если в файле test1.php необходима переменная, которая генерируется в файле test2.php, при этом файлы вызываются в порядке test1.php, test2.php через include_once, то все будет работать? Я понимаю такое пройдет только с функциями, но с обычным кодом ведь нет?
Ответы:
Зачем? В php уже есть втроеная директива include_once или require_once.
В начале модуля прописывайте зависимости и пхп автоматически вызовает всё в нужном порядке. Я думаю накладные расходы будут гораздо меньше.
если в файле test1.php необходима переменная, которая генерируется в файле test2.php - файлы инклюдятся в порядке test2.php, test1.php.
When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward.
т.е. инклюд просто вставляет текст одного файла в другой, до начала исполнения кода.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.