Модель - это ссылка на определенный набор данных.Это может быть база данных, текстовый файл или любой другой тип данных.Необходимо помнить, что одна модель должна ссылаться на один набор данных.Для простоты приведу таблицу пользователей.Предположим, у нас есть следующая таблица в базе данных:
CREATE TABLE `users` (
`id` char(36) NOT NULL,
`email_address` varchar(127) NOT NULL,
`password` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
);
Базовая модель для этой таблицы будет выглядеть примерно так:
<?php
class User extends AppModel {
var $name = 'User';
var $displayField = 'email_address';
}
Теперь ключ к архитектуре MVC (и CakePHP) заключается в том, что любая функция, необходимая для манипулирования данными пользователя, должна содержаться в этой модели.Это немного широкий и широкий.Могут быть случаи, когда это будет происходить в другом месте.Но если вы всегда можете думать о вещах с точки зрения данных или бизнес-требований / процессов, это поможет вам определить, куда должен идти код.
Так что для модели пользователей, если вам нужно ДОБАВИТЬ пользователя,модель справится с этим дополнением.Контроллер вызывает форму (представление), а затем обрабатывает форму, отправляя данные в модель для добавления в базу данных.
Поэтому, если вы хотите проверить уникальные адреса электронной почты, прежде чем добавлять запись вбазы данных, это должно быть сделано в модели.Если вы хотите подтвердить, что адрес электронной почты действителен, это следует сделать в модели.Если вы хотите иметь подтверждение пароля, когда пользователь вводит два пароля, и вы проверяете их, чтобы убедиться, что они идентичны, вы бы сделали это в модели.
Это то, что подразумевается под жирным контроллером тощей модели.Все, что может поместиться в модели, вероятно, должно пойти туда.
Надеюсь, это поможет.