Свежайшие Пирожки от CakePHP по-русски

Полнейшее руководство CakePHP 1.2 на русском языке, горячие новости и полезные статьи

Контроллеры плагина

Контроллеры для нашей пицы будут храниться в /app/plugins/pizza/controllers/. Поскольку главной задачей будет отслеживание заказов пицы, нам нужен для этого плагина контроллер OrdersController.

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

Итак мы поместили наш новый контроллер PizzaOrdersController в /app/plugins/pizza/controllers и теперь он выглядит так:

Простой текст
  1. // /app/plugins/pizza/controllers/pizza_orders_controller.php
  2. class PizzaOrdersController extends PizzaAppController {
  3. var $name = 'PizzaOrders';
  4. var $uses = array('Pizza.PizzaOrder');
  5. function index() {
  6. //...
  7. }
  8. }

Этот контроллер расширяет плагиновский AppController (названый PizzaAppController), а не AppController родительского приложения.

Также обратите внимание что имя модели с приставкой названия плагина. Эта строчка кода была добавлена для ясности, в данном случае она не обязательна.

Если вы попытаетесь обратиться по урлу /pizza/pizza_orders, вы получите ошибку “Missing Model” потому что мы еще не определили модель PizzaOrder.