2008年 9月 16日(火曜日) 00:56

【CakePHP】EclipseでAppModelとAppControllerのメンバの補完を利用するには

評価:
(0 票)

EclipseでCakePHPの開発を行うときに、自分で作成したAppModelやAppControllerを継承したクラス内で、それらのメンバを継承したクラスから利用する際に補完ができませんでした。原因は、自分で作ったapp_model.phpやapp_controller.phpではなく、cakeディレクトリの下の空のテンプレートを親クラスのソースファイルとして参照してしまっていたためでした。

参照する親クラスのファイルのサーチパスの順がどこかで設定できるはずだと思って探したのですが、そのような設定が見つからなかったため、かぶってしまっている既存のapp_model.phpとapp_controller.phpの拡張子を変えてビルドの対象外とすることで対応しました。

AppModelは、

  • cake/libs/model/app_model.php
  • cake/console/libs/templates/skel/app_model.php

AppControllerは、

  • cake/libs/controller/app_controller.php
  • cake/console/libs/templates/skel/app_controller.php
  • cake/tests/cases/libs/controller/component.test.php
  • cake/tests/cases/libs/controller/controller.test.php
  • cake/tests/cases/libs/error.test.php

を、それぞれ"app_controller.php.keep"等に名前を変更しました。これで、AppModel、 AppControllerそれぞれの継承クラスから親クラスのメンバの補完(Ctrl + Space)ができるようになりました。

でもこのやり方はかなり強引ですね。。。親クラスの参照ファイルを設定する方法があるか、またはCDTに存在する"Exclude from build"オプションのようなものがPDTにもあればよいのですが。。。もっとよいやり方をご存知の方は教えてください。m(_ _)m

最終更新日: 2011年 6月 27日(月曜日) 01:39
くらち たかよし

くらち たかよし

モバイル・Webアプリ作家。最近は主にiPhoneアプリ制作を手がける。企画から、UIデザイン、設計、実装、テスト、多言語対応、ユーザーサポートまでを1人〜数人の個人で行う全人的開発手法の確立を目指している。

使う言語はObjective-C, C++, C#, Java, PHPなど。Web関連で使うものはCakePHP, MySQL, Joomla! CMSなど。デザインはシロウトながらPhotoshopとIllustratorをなんとかがんばって使う。

場所や時間に縛られない、インターネット時代の新しい働き方、自由な生き方を模索中。海外移住、低予算&低リスク起業、キャリアデザイン、心理学などにも興味あり。

Web: awaresoft.jp/