CakePHP : Manual/Developing/Controllers/Introduction

Контроллеры – Введение


Контроллер используется для управления логикой части вашего приложения. Чаще всего, контроллеры используют для управления логикой отдельной модели. Например, если вы создаете сайт для онлайн пекарни, то вам необходимо создать RecipesController и IngredientsController, управляющие вашими рецептами и компонентами рецептов соответственно. В CakePHP контроллер именуют как модель, которой он управляет, только во множественном числе. Моделью Recipe управляет контроллер RecipesController. Модель Product управляется контроллером ProductsController. И так далее.

Контроллеры вашего приложения – это классы, которые расширяют AppController class, который в свою очередь, расширяет класс ядра Controller class.
Класс AppController может быть определен в /app/app_controller.php и содержит методы, которые делятся между всеми контроллерами вашего приложения. Класс AppController расширяет класс Controller, который является стандартной библиотекой CakePHP.

Контроллеры могут включать в себя любое количество методов (функций), которые обычно рассматриваются, как действия. Действия – это методы контроллера, которые используются для показа отображений (views). Действие – это один метод контроллера. Диспетчер CakePHP вызывает действие, когда входящий запрос соответсвует URL действия контроллера. Возвращаясь к нашему примеру онлайн пекарни, наш контроллер рецептов RecipesController может содержать действия view(), share() и search(). Этот контроллер находится в /app/controllers/recipes_controller.php и содержит:

<?php
    
    
# /app/controllers/recipes_controller.php

    
class RecipesController extends AppController {
        function 
view($id)     {
            
//action logic goes here..
        
}

        function 
share($customer_id$recipe_id) {
            
//action logic goes here..
        
}

        function 
search($query) {
            
//action logic goes here..
        
}
    }
?>


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

<< Контроллеры | Переменные контроллера >>