Я разрабатываю приложение CakePHP, которое мы предоставим в качестве белой метки для людей, которые будут внедрять их для своих компаний, и им нужно будет иметь определенные возможности настройки для себя.
Для начала, ониОни смогут делать с представлениями все, что хотят, и могут добавлять свои собственные контроллеры / модели, если им нужно добавлять совершенно новые вещи.Однако я бы посоветовал не прикасаться к моим контроллерам и моделям, чтобы упростить обновление версий.
По сути, возможности настройки, которые я планирую предоставить им, будут довольно простыми.Мне просто нужно вызывать «что-то», когда происходят определенные вещи, чтобы они могли делать такие вещи, как обновление внешних систем, отправка электронной почты себе / клиентам, и тому подобное.
Мне интересно, как лучшечтобы сделать это?
Мой план состоит в том, чтобы иметь «файл» (с одним классом) для каждого моего контроллера, чтобы держать вещи разумно организованными.Этот файл будет содержать несколько пустых методов, которые мой код будет вызывать, и они смогут добавлять код в эти методы, чтобы делать все, что им нужно.
Конкретный вопрос: должен ли этот класс быть полным?Компонент пустых методов?Контроллер?Просто обычный PHP-класс?
Мне нужно будет вызывать методы в этом классе из моих контроллеров, поэтому я предполагаю, что сделать его контроллером не может быть и речи (если, возможно, это не контроллер, который наследуется отмой? или мой наследует от их, наверное).Кроме того, мне нужно, чтобы разработчик этих методов имел доступ к моим Моделям и Компонентам, хотя я согласен с тем, чтобы они использовали App :: Import, мне не нужно устанавливать магические члены $ this-> ModelName..
Кроме того, этот файл, который я создаю (например, Компонент или Контроллер), должен находиться в папке приложения рядом с другими ( my ) контроллерами / компонентами?Или я могу выбросить его где-нибудь отдельно, например, в папку vendors?
Вы уже делали что-то подобное раньше?
Любые советы / советы / ловушки, которых следует избегать, будут приветствоваться.
Iзнаю, что это отчасти субъективно, я надеюсь услышать от вашего опыта в основном, если вы сделали это раньше.
Спасибо!