Проектирование системы, которая поддерживает переопределения, file_exists () и включает? - PullRequest
0 голосов
/ 20 октября 2011

В моей инфосистеме очень модульная архитектура, которая устанавливается для сотен клиентов.Обновления загружаются для этих клиентов автоматически.Но у некоторых из этих клиентов есть пользовательские функции, которые я не хочу добавлять на каждый другой клиент.

Таким образом, я хочу реализовать переопределения в системе, чтобы некоторые модули действовали немного по-другому, чем основные.system.

Первая идея, которая у меня возникла, заключалась в том, чтобы выполнить несколько проверок file_exists () перед тем, как включать файлы и классы, чтобы выяснить, есть ли версия переопределения в каталоге переопределений, но система загружает много файлов,что означало бы, что на загрузку страницы должно приходиться около двадцати-тридцати проверок file_exists () (включая файлы, такие как CSS и JavaScript).

Это будет уместно, или есть лучший способ создания инфосистемы99% клиентов имеют одну кодовую базу и 1% используют переопределения некоторых функций?

Спасибо!

1 Ответ

1 голос
/ 20 октября 2011

Я согласен с комментариями user973254 и Michael Mior и считаю, что вы должны объединить их: при установке выполните проверки для переопределений, а затем используйте информацию для генерацииКонфигурационный скрипт - просто храните массив $modules['ModuleName'] = '/File/Path'.Затем, когда вы загружаете модуль, вызывайте include $modules['ModuleName'];

...