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