3.5.2.2 $components, $helpers and $uses

Další nejčastěji používané atributy říkají controlleru, který helper, komponenta nebo model budete používat spolu s aktuálním controllerem. Použítí těchto atributů umožní tyto MVC třídy používat jako proměnné třídy ( např. $this->ModelName).

Každý controller má některé z těchto tříd přístupné defaultně, proto nepotřebujete konfigurovat controller pro všechny.

Controllery mají přístup k jejich primárnímu modelu defaultně. RecipesController má přístupný model Recipe přes $this->Recipe, ProductsController podobně zprístupní model Product přes $this->Product.

Html, Form a Session Helpery jsou též přístupné defaultně. Podobně i SessionComponent. Pro bližší pochopení těchto tříd si pročtěte pozdější sekce v tomto manuálu.

Pojďme se podívat, jak říct controlleru, že chcete využít dalších MVC tříd.

<?php
class RecipesController extends AppController {
    var $name = 'Recipes';

    var $uses = array('Recipe', 'User');
    var $helpers = array('Ajax');
    var $components = array('Email');
}
?>   
  1. <?php
  2. class RecipesController extends AppController {
  3. var $name = 'Recipes';
  4. var $uses = array('Recipe', 'User');
  5. var $helpers = array('Ajax');
  6. var $components = array('Email');
  7. }
  8. ?>

Každá z těchto proměnných je spojena s jejich dědičnou hodnotou, proto není nezbytné (např.) redeklarovat Form Helper nebo cokoliv, co je již deklarováno ve Vašem App controleru.