Прежде чем вы начнете думать о том, как сделать систему плагинов , вы должны определить, что именно является плагином для вашего приложения, что могут делать плагины и к каким данным плагины смогут получить доступ (например, таблица сообщений, но не таблица пользователей).
Затем взгляните на Drupal, я думаю, что его модульная система, основанная на хуках, действительно мощная и «простая» для разработчиков.
По сути, идея заключается в том, что когда установлен модуль или плагин, все, что вы делаете с вашим «основным» кодом, ищет, есть ли какие-либо модули / плагины, подключенные к этому действию.1010 *
Это очень очень синтетический пример (и он не работает!), Но он должен дать вам идею.
Единственная проблема здесь связана с аргументами, которые вы передаете каждой функции hook_function, которые должныдействительно хорошо документироваться, однако документация важна независимо от того, какой путь вы выберете.
Некоторые ссылки: крючки Drupal , hook_insert