Белая маркировка CakePHP: Как лучше всего предоставить средства настройки / обратные вызовы разработчикам?

Я разрабатываю приложение CakePHP, которое мы предоставим людям в качестве white label для внедрения в свои компании, и они ' они должны иметь определенные возможности настройки для себя.

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

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

Мне интересно, как лучше всего это сделать?

Мой план состоит в том, чтобы иметь «файл» (с одним классом) для каждого моего контроллера, чтобы все было в разумной степени организовано. В этом файле будет куча пустых методов, которые будет вызывать мой код, и они смогут добавлять код внутри этих методов, чтобы делать все, что им нужно.

Конкретный вопрос в том, заполнен ли этот класс пустыми методами быть компонентом? Контроллер? Обычный простой PHP-класс?

Мне нужно будет вызывать методы этого класса из моих контроллеров, поэтому я предполагаю, что сделать его контроллером не может быть и речи (если, может быть, это контроллер, унаследованный от моего? Или мой, наверное, унаследовал от них). Кроме того, мне понадобится разработчик этих методов, чтобы иметь доступ к моим моделям и компонентам, хотя я могу заставить их использовать App :: Import, мне не нужно устанавливать магические элементы $ this-> ModelName. .

Кроме того, должен ли этот файл, который я создаю (например, компонент или контроллер), находиться в папке приложения рядом с другими ( мои ) контроллерами / компонентами? Или можно выбросить где-нибудь отдельно, например, в папку vendors?

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

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

Спасибо!

1
задан Daniel Magliola 4 October 2010 в 15:09
поделиться