3.5.2.2 $components、$helpers、$uses
次によく使われるコントローラ属性は、CakePHPに現在のコントローラが、どんなヘルパー、コンポーネント、モデルを使用するのかを伝える属性です。これらの属性により、MVCの各クラスをクラス変数として(例えば、$this->ModelNameとして)利用できるようになります。
各コントローラは、デフォルトでいくつかのクラスを利用できるようになっています。ですから、コントローラにまったく設定を追加しなくてよい場合もあります。
コントローラは、主要モデルにはデフォルトでアクセスできます。RecipesControllerは、デフォルトで、Recipeモデルに$this->Recipeという仕方でアクセスでき、ProductsControllerも$this->Productという形でProductモデルを使うことができます。
Html 、 Form 、 Session ヘルパーは、デフォルトで利用することができます。これらのクラスに関する詳細は、マニュアルの後の章を参照してください。
CakePHPのコントローラに、使用する追加のMVCクラスをどのように設定するのかを見てみましょう。
<?php
class RecipesController extends AppController {
var $name = 'Recipes';
var $uses = array('Recipe', 'User');
var $helpers = array('Html', 'Ajax');
var $components = array('Session', 'Email');
}
?>
<?phpclass RecipesController extends AppController {var $name = 'Recipes';var $uses = array('Recipe', 'User');var $helpers = array('Html', 'Ajax');var $components = array('Session', 'Email');}?>
これらの変数は継承した値とマージされるため、例えば Form ヘルパーや App controller で宣言したものを、もう一度宣言する必要はありません。
See comments for this section
