LoginSignup
11

More than 5 years have passed since last update.

CakePHP の View でもコード補完する

Last updated at Posted at 2017-02-23

PhpStorm などの IDE で CakePHP のテンプレート (.ctp) ファイルを編集してもコード補完してくれないので、なんとかする方法です。

テンプレートファイルが実行されるクラスを調べる

まずはテンプレートが何のクラスとして実行されているのか調べてみます。

src/Template/hoge.ctp
<?= get_class($this) ?>

結果: App\View\AppView

コード補完を有効にする (Auto-Completing)

クラスが分かったので、あとはテンプレート内に PHPDoc を書いてそのクラスをエディタに認識されれば OK です。

src/Template/hoge.ctp
<?php /** @var \App\View\AppView $this */ ?>

テンプレートファイルの行頭にこのようなコメントを追記し $this-> とタイプすればメソッド一覧が表示されるようになります。

おまけ: ビュー変数も補完する

コントローラ上で設定したビュー変数についても PHPDoc を書くことで補完することができます。
例えばコントローラ上で $this->set('user', $user); とした場合は以下のようになります。

src/Template/hoge.ctp
<?php /** @var \App\Model\Entity\User $user */ ?>

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
  3. You can use dark theme
What you can do with signing up
11