Модель представляет вашу модель данных и в объектно-ориентированном программировании есть объект, представляющий «сущность» – машину, человека, дом. Например, блог может иметь много постов и каждый пост может иметь много комментариев. Blog, Post и Comment – это все примеры моделей, ассоциированных друг с другом.
Вот простой пример определения модели в CakePHP:
<?php
class Ingredient extends AppModel {
var $name = 'Ingredient';
}
?>
Промежуточный класс, AppModel пустой и по умолчанию находится в каталоге /cake/. Замещение класса AppModel позволяет вам определить функциональность, которая будет доступна для всех моделей вашего приложения. Для этого вам необходимо создать свой файл app_model.php в корне каталога /app/. Если вы создаете проект, используя Bake, то этот файл будет автоматически сгенерирован.
Создавайте php-файлы ваших моделей в каталоге /app/models/ или в подкаталоге этого каталога. CakePHP найдет их в любом случае. По соглашению файл должен иметь такое же имя, как и класс. Например, ingredient.php.
Смотрите также Поведения, чтобы узнать, как использовать один и тот же код в разных моделях.
Свойство $name необходимо для PHP4, необязательно для PHP5.
<?php
class IngredientsController extends AppController {
function index() {
//получает все ингридиенты и передает их в отображение:
$ingredients = $this->Ingredient->find('all');
$this->set('ingredients', $ingredients);
}
}
?>
$this->Recipe->Ingredient->find('all');
<?php
class RecipeController extends AppController {
var $uses = array('Recipe', 'User');
function index() {
$this->Recipe->find('all');
$this->User->find('all');
}
}
?>
<?php
class RecipeController extends AppController {
var $uses = array('Recipe');
function index() {
$this->Recipe->find('all');
App::import('Model', 'User');
$user = new User();
$user->find('all');
}
}
?>
| Создание таблиц базы данных >>