А можно поподробнее - как это реализовать по другому? Более рационально?
Или пошлите почитать что то?
Хотелось бы сделать оптимальным образом, но я пока не понимаю как менять функциональные возможности CMS не меняя ее кода.
Есть например функция которая удаляет модули, которые присвоены определенной странице.
Но некоторые модули используют дополнительные такблицы с некой информацией. Ее тоже надо удалить. И удаление это должно происходить при вызове общей для CMS функции удаления. Как ее заставить это сделать, не меняя ее кода?
Как альтернатива - только написать функцию удаления для каждого модуля свою. Но при этом такой подход обладает коллосальной избыточностью... Кроме того библиотеки, которые индивидуальны для модуля надо как то подключать.
Каким образом это можно сделать не кромсая скрипты?
Надо же как то туда добавить в них злощастный require_once...
Я был бы вам очень признателен ечли бы вы обьяснили как это стоит делать и/или указали литературу, из которой я мог бы почерпнуть необходимую "теорию", проверенную практикой и доказывающую что тот или иной подход более разумен.
-~{}~ 31.03.07 20:34:
или имеется в виду что надо создать какой то промежуточный файл в него загнать список связок
тип модуля : функция
и список подключаемых библиотек
и когда настает время выполнения специфичных для модуля действий обращатся к этому буфферному файлу?
но даже если там содержится название функции, которая должна выполнить специфичные действия то как запустить функцию с этим названиям?
-~{}~ 31.03.07 20:37:
Конечно если добавлять в некий include_list.xml пути подключения библиотек модулей то проблема с добавлением require_once исчерпает себя... Хотя include_list.xml все равно придется кромсать. Но это по крайней мере не исполняемый скрипт.
(кстати, вопрос - а почему ээто лучше? только с точки зрения разделения скриптов и изменяемой части?)
-~{}~ 31.03.07 20:38:
можно в php как то запускать php код содержащийся в строке?
-~{}~ 31.03.07 20:39:
или я опять не в ту сторону смотрю?
-~{}~ 31.03.07 20:46:
Кстати - а почему не стоит кромсать скрипт?
Если ввести систему файлов конфигурации то теряется время на их парсинге...
Правда система получается более структурирована.
Скрипт не меняется.меняются только отдельные и специально выбраные файлы.
Какие достоинства у метода с использованием доп. фалов кроме структуры и невозможности "грохнуть" основной скрипт?
Обьясните пожалуста.
-~{}~ 31.03.07 20:49:
Запуск функций осуществляется с помощью php.net/call_user_func_array
так?
-~{}~ 31.03.07 20:52:
Впрочем кромсать, пусть не скрипт а файлы настроек придется.
Так что вопрос заданный в начале - остается очень даже актуальным.
Просто возникла куча новых вопросов.
(Я же говорил что они возникнут если предоставить развернутое представление проблемы... - что впрочем хорошо и даже замечательно)
Очень надеюсь на ваши советы и заранее благодарен за любую подсказку или пояснение, касательно данных вопросов.
-~{}~ 31.03.07 22:04:
--------------------------------------
Попробовал.
PHP:
$pattern ="|(.*)\n//метка 1//.*?//метка 1 конец//(.*)|s";
$replacement="\${1}\${2}";
$lib = preg_replace($pattern, $replacement, $lib, -1);
Опять удалило только последнее вхождение...
Даже не знаю в чем может быть дело

Подскажите что не так в регулярном выражении... .*? по идее должно было заставить выражение искать вхождение минимальной длины.