Подтвердить что ты не робот

Создать плагин с php

Я работаю над пользовательской CMS для собственного использования и думал о внедрении системы плагинов, чтобы я мог немного расширить код. Однако у меня возникают проблемы с концепцией архитектуры и макета.

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

Есть ли у кого-нибудь хорошие идеи о том, как действовать? Если кто-то может описать, как некоторые из более популярных программ делают это, было бы идеально.

4b9b3361

Ответ 1

  • Определите функциональность, которую вы хотите подключить плагины (то есть, что они будут делать и над чем)
  • Определите иерархию классов, на которой подходят плагины, например, все плагины, используемые в статье, должны наследовать от ArticleMangler
  • Определите физическое местоположение для плагинов, например /plugins
  • Импортировать все плагины, присутствующие в местоположении
  • Используйте Decorator или Observer шаблонов, чтобы ввести поведение плагина или сообщить о появлении плагинов событий. Strategy может быть применим и в некоторых случаях.

PHP делает это довольно легко при потенциальной стоимости создания беспорядка, если вы не будете осторожны. Мне нравится метод Observer, где плагины регистрируются в диспетчере плагинов, которые уведомляют их о том, что произошло, и ждут своего действия.

Если вы не доверяете плагинам, вам нужно будет добавить элементы управления, из каких событий вы собираетесь разрешить любому плагину зарегистрироваться.