В попытке следовать лучшим методам MVC Я стараюсь, чтобы весь мой код следовал за толстой моделью, точная методология управления, поэтому кто-то мог бросить взгляд на нижнее и сказать мне, если я На правильном пути?CakePHP Модели жира и тощие контроллеры - appModel
В настоящее время в моем приложении у меня есть
ExpenseClaims hasMany Expenses
Expenses belongsTo ExpenseClaims
В моих страницах/admin_index.ctp Мне нужно, чтобы сумма всех расходов, относящихся к каждому ExpenseClaim перечисленного.
Таким образом, лучший КФН способом я могу видеть, чтобы сделать это было бы, чтобы загрузить модель ExpenseClaim в AppModel
App::uses('ExpenseClaim', 'Model');
И тогда есть функция внутри AppModel, что я могу использовать через контроллеры приложений (потому что его в appModel), что я могу передать идентификатор ExpenseClaim, и он вернет в общей сложности все связанные расходы.
Это правильный способ MVC сделать это, а не делать все это в контроллере?
Заранее спасибо
Ну ... вы используете торт. Это уже означает, что все методы, связанные с MVC, были выброшены. Поскольку CakePHP является клоном Rails, вам следует сосредоточиться на тех практиках, которые рекомендуются для пользователей Rails. Что касается вашего вопроса: ** всегда полезно оставить любое приложение и/или бизнес-логику из «контроллера». ** К сожалению, поскольку Cake делает вид, что модель является экземпляром ActiveRecord, у вас все еще будет много логики приложения в «контроллерах». –
Хм, это не очень полезно. –
Я бы рекомендовал, чтобы все производили модели Fat, а не Fat, потому что модели Fat упрощают изменение бизнес-логики везде, где используется модель. Модели становятся многоразовыми. Напротив, Fat Controllers затрудняет работу, поскольку бизнес-логика заключена в контроллер, и сделанные изменения не используются повторно в других контроллерах. Если в случае, если вы не можете уменьшить контроллер, вам нужно разделить бизнес-логику более чем на одно действие, а не реализовать его в одном действии. Это облегчит нашу жизнь. –