ケーキPHPのコンポーネント内でSet関数を使用する方法は?
class TestComponent extends Object
{
//etc
$this->set('User', $user);
}
エラーが発生します
Fatal error: Call to undefined method TestComponent::set()
これをどのように修正できますか?
ケーキPHPのコンポーネント内でSet関数を使用する方法は?
class TestComponent extends Object
{
//etc
$this->set('User', $user);
}
エラーが発生します
Fatal error: Call to undefined method TestComponent::set()
これをどのように修正できますか?
function startup($controller) { $this->controller = $controller }
function something() {
$this->controller->set('User',$user);
}
Cakeは、コントローラー参照をコンポーネントのスタートアップ関数に渡します。後でカスタム関数で使用するには、コンポーネントに参照を保持する必要があります。
ここを参照してくださいhttp://book.cakephp.org/1.3/en/view/996/Creating-Components#MVC-Class-Access-Within-Components-998
ほとんどの場合、Componentメソッドはコントローラーから呼び出されるため、コントローラーの関数から値を返すことができます。ビューレイヤーに変数を設定する場合は、これを使用できます
$this->Controller->set('varForView',varValue);
これは、コンポーネントには、インスタンス化された場所からのControllerインスタンスのクラス変数があるためです。