Welcome to the Cookbook

loading...

3.14.1 Crear un Plugin

El texto original ha cambiado despues que la traduccion. Por favor ayundanos a reslover este differencia. Puedes:

Mas info sobre traduciones

Como ejemplo, vamos a crear un nuevo plugin que encargue pizzas. Para empezar tendremos que colocar todos los archivos de nuestro plugin en el directorio /app/plugins. El nombre del directorio padre del plugin es importante y se referenciará muy a menudo, así que conviene escogerlo con prudencia. Para este ejemplo utilizaremos el nombre 'pizza'. La estructura de archivos será la siguiente:

/app
     /plugins
         /pizza
             /controllers                <- controladores del plugin
             /models                     <- modelos del plugin
             /views                      <- vistas del plugin
             /pizza_app_controller.php   <- clase AppController del plugin
             /pizza_app_model.php        <- clase AppModel del plugin 

Si queremos acceder a nuestro plugin a través de una URL, es necesario definir las clases AppController y AppModel para el mismo. Estas dos clases especiales tienen el nombre del plugin y extienden las clases AppController y AppModel de la aplicación principal. En nuestro ejemplo:

// /app/plugins/pizza/pizza_app_controller.php:
<?php
class PizzaAppController extends AppController {
     //...
}
?>
  1. // /app/plugins/pizza/pizza_app_controller.php:
  2. <?php
  3. class PizzaAppController extends AppController {
  4. //...
  5. }
  6. ?>
// /app/plugins/pizza/pizza_app_model.php:
<?php
class PizzaAppModel extends AppModel {
       //...
}
?>
  1. // /app/plugins/pizza/pizza_app_model.php:
  2. <?php
  3. class PizzaAppModel extends AppModel {
  4. //...
  5. }
  6. ?>

Si olvidamos definir estas clases, CakePHP nos mostrará el error "Missing Controller".