Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。
Eclipse PDTでのCakePHP開発時のコード補完に関する情報
EclipseとPDTで開発をしていると便利なのがコード補完です。この機能がないと開発の効率がすごく落ちますね。ここではCakePHPの開発において,コード補完をちゃんと行えるようにする設定について書きます。
基本,cakeフォルダをIncludeする
cakeフォルダをプロジェクトとして,appフォルダのプロジェクトのインクルードパスにcakeプロジェクトを追加します。これでCakePHPのオブジェクトに関するコード補完が実現します。
Viewの.ctp編集時にコード補完を使う
この件に関する参考サイト:Code completion in views with Eclipse PDT
Eclipseのコード補完はめっちゃ便利です。ですがビューのctpファイルを編集中にヘルパーのコード補完ができません。どこかのファイル で$htmlとかの変数を宣言してやればコード補完できるのじゃないかと思いましたが,やはりそうでした。上記参考サイトに書いてありました。プロジェク トの中の適当な場所(場所はどこでも良い)に適当なphpファイルを作り,次のコードを流し込んで,保存します。
<?php // stop page loading exit; // reference helpers so Eclipse provides code completion $ajax = new AjaxHelper(); $cache = new CacheHelper(); $form = new FormHelper(); $html = new HtmlHelper(); $javascript = new JavascriptHelper(); $number = new NumberHelper(); $session = new SessionHelper(); $text = new TextHelper(); $time = new TimeHelper(); ?>
これだけで,Viewの.thtmlでもコード補完が使えるようになります。
コントローラからモデルのメンバを補完する
コントローラでコードを書いているときに,モデルを使うことがありますね。
$this->Employee->save($this->data)
こんな風に。ところが,モデルのメンバは補完されません。これを補完するのは至難の業かと思われましたが,次の方法を取るとなんとかできるようになります。もっと簡単な方法があれば,コメントやトラバでツッコミお願いします。
モデルを使用するメソッドの中で(先頭あたり?)次のように記述します。
function record(){
$model =& $this->Employee;
/* @var $model Employee */
:
$model->save($this->data);
}
このようにモデルメンバを変数に代入して使用します。変数の型をPDTに教えるために3行目のコメントを書きます。すると,$modelはEmployeeクラスであるとPDTが判断して,メンバをリストしてくれるようになります。
トラックバック
人気のあるページ
- Robocopyでフォルダをコピー
- Robocopy よく使うオプション
- Active Directoryのユーザ管理 (1)
- SQL Server で文字列の半角/全角変換
- SQL Server 2005からリンクテーブルでOracleに接続する
- Windowsサーバでのレプリケート失敗を解決
- LDAP認証とActive Directory
- SQL Server 2005のデータベースコピーウィザードを使う
- WebClientサービスをポリシーで止める
- ログオン時にドライブやプリンタを割り当てる
- ログオン,ログオフ状況を記録するスクリプト
- 設定系スクリプト実行時にUACに邪魔されるのを回避する

controllerでの補完
app_controller.phpに
/**
* @var Hoge
*/
var $Hoge;
とすれば、Hogeモデルのコードインテリジェンスが使えるようになるかと思います(PDTで確認しました)。
それは便利ですね。情報ありがとうございます。 m(_
それは便利ですね。情報ありがとうございます。 m(_ _)m