search
LoginSignup
1

posted at

updated at

CakePHPでヘルパーをコントローラで使う

意外と見つけるのが大変だった。

システム全体をSPAへの置き換え時にありがちな、ヘルパーの処理をコントローラに移行したいという状況が発生したのでメモ

(追記) コメントがあり、レジストリを用いる方法の方が良さそうなので、記事の内容を変えました。

MyHelperを利用する場合。

use Cake\View\View;
use Cake\View\HelperRegistry;

---

// ヘルパーを使うおまじない
$HelperRegistry =  new HelperRegistry(new View());
$this->MyHelper =  $HelperRegistry->load('My');
$fuga = $this->MyHelper->hoge()

直接呼び出す方法。

use Cake\View\View;
use App\View\Helper\MyHelper;

---

// ヘルパーを使うおまじない
$this->MyHelper = new MyHelper(new View());
$fuga = $this->MyHelper->hoge()

コントローラ内で対処している記事がほとんどなかったので、エラーから逆引きしました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1