2017-12-22 14 views
1

どのようにして、読み込まれたコンポーネントをcakephp 3.xの別のコンポーネントに置き換えることができますか?1つの読み込まれたコンポーネントをcakephp 3.xの別のコンポーネントに置き換えるにはどうしたらいいですか?

私はコンポーネントをダウンロードする必要がまず:$this->loadComponent('MainComponentFirs');

私は何とか別の後にダウンロードするには、ダウンロードしたコンポーネントをアンロードできますか?A: $this->loadComponent('MainComponentSecond');

それは両方のコンポーネントがにロードされてはならないことが前提であります同時。教えてください?

答えて

0

この回答はGithub requestで、コンポーネントをアンロードする機能はありません。後にあなたがちょうどあなたの他のコンポーネントをロードする必要があります

$this->components()->unload('Foo'); 
unset($this->Foo); 

:しかし、あなたはこのようにそれを行うことができます

$this->components()->unload('MainComponentFirst'); 
unset($this->MainComponentFirst); 
$this->loadComponent('MainComponentSecond'); 

彼らはあなたのAppControllerに、このようなメソッドを作成し提案します。

+0

ありがとう、SamHecquet! :) ありがとう:slackebot3、彼は示した:https://github.com/cakephp/cakephp/blob/master/src/Core/ObjectRegistry.php#L329-L337 – Alex

関連する問題