Написал простенькую систему управления контентом на шаблонизаторе Xtemplate , хотелось бы написать администраторский модуль для установки обновлений и плагинов, что бы можно было установкой плагина влиять на ход отработки php-скриптов системы. Но ничего умнее замены скриптов на новые (т.е. "хаки") в голову не приходит, это тоже не вариант т.к. потом установленные плагины нельзя будет с админки удалить, потому что оригинальные скрипты были перезаписаны скриптами плагина. Кто-нибудь может подсказать как данный алгоритм реализован в других системах ?
события. произошло какое-то событие, определенный плагин на него подписан... тот кто подписан начинает работу... но вообще это жесть
Так в вордпресе реализовано , так называемые функции ловушки. Это реально жесть т.к. придёться всю систему этими функциями нафаршировать ))
Все зависит от проектировки самой системы. Либо события, да, либо какой то из шаблонов реестра, например... разное бывает.
у меня как раз события, реализованно прямо в шаблонизаторе, он сам подгружает плагины в шаблон если надо...
Правильно сказали, это должно быть заложено в архитектуре системы. Я с такой системой работал - штука конечно охренеть мощьная, но при этом она не сильно лёгкая. Там правда была система, заточенная под разработку автоматизированных систем управления и скажу я вам, без ухищьрений в виде специальных конфигурационных файлов, либо регистрации hook'ов это не сделается, к тому же необходимо продумывать иницуиализацию и писать весьма универсальное ядро. Вообщем это 100% не лёгкая задача и для маленькой CMS оно совсем не подходит. Даже для средней не очень то, и 100% не руками очередного кодера. Тут нужно 2-4 проффесионала, мозговой штурм, 1-2 месяца для разработки и ещё 1 месяц для тестирования, улучшения и оптимизации (то, с чем я работал люди доволили до совершенства в компании 6 лет и идей по улучшению была просто уйма - ибо опыт в виде багажа из нескольких сотен проектов, некоторые по 4-5 лет и до сих пор продолжающиеся). З.Ы. Отмазка: я не говорю что не стоит делать, я говорю о том, что серьёзную штуку, работающую на полную катушку удастся сделать не сразу - уйдёт очень много времени.
Psih чё там столько времени делать? 0_о я именно про реализацию каркаса архитектуры а не про всякие прибамбасы. деталями не поделишся?