Netbeans7をIDEに使用してCodeigniterのコード補完をさせる方法をあちこち探してやっと気に入った方法を見つけました。
まず、適当な名前(auto_complition.phpなど)で以下の内容のファイルを作成してください。
<?php
/**
* @property CI_DB_active_record $db
* @property CI_DB_forge $dbforge
* @property CI_Benchmark $benchmark
* @property CI_Calendar $calendar
* @property CI_Cart $cart
* @property CI_Config $config
* @property CI_Controller $controller
* @property CI_Email $email
* @property CI_Encrypt $encrypt
* @property CI_Exceptions $exceptions
* @property CI_Form_validation $form_validation
* @property CI_Ftp $ftp
* @property CI_Hooks $hooks
* @property CI_Image_lib $image_lib
* @property CI_Input $input
* @property CI_Language $language
* @property CI_Loader $load
* @property CI_Log $log
* @property CI_Model $model
* @property CI_Output $output
* @property CI_Pagination $pagination
* @property CI_Parser $parser
* @property CI_Profiler $profiler
* @property CI_Router $router
* @property CI_Session $session
* @property CI_Sha1 $sha1
* @property CI_Table $table
* @property CI_Trackback $trackback
* @property CI_Typography $typography
* @property CI_Unit_test $unit_test
* @property CI_Upload $upload
* @property CI_URI $uri
* @property CI_User_agent $user_agent
* @property CI_Validation $validation
* @property CI_Xmlrpc $xmlrpc
* @property CI_Xmlrpcs $xmlrpcs
* @property CI_Zip $zip
*/
class CI_Controller {};
/**
* @property CI_DB_active_record $db
* @property CI_DB_forge $dbforge
* @property CI_Config $config
* @property CI_Loader $load
* @property CI_Session $session
*/
class CI_Model {};
?>
このファイルをCIのフォルダー(ディレクトリ)をNetbeansのプロジェクトとして登録したときに出来る、nbprojectフォルダーの下に作成します。なお、このフォルダーはNetbeansのプロジェクトウィンドウ(ペイン?)からは見えません。ファイルウィンドウからは見えます。
nbprojectがプロジェクトのプロパティのインクルードで指定されている大域インクルードフォルダーになっているそうで、その下に置いておけば、自動的にNetbeansにより、読み込まれます。サブフォルダーを作り、その中においてもかまいません。
この方法ですと、コントローラーとクラスでは補完されますが、ビューではできません。そこでビューの先頭に次のコメントを足してあげることで、補完が効くようになります。
<?php /* @var $this CI_Controller */ ?>
ちなみに上記のように一行でコメントを閉じて下さい。以下のように複数行に分けると、なぜか補完が効きません。
<php /* * @var $this CI_Controller */ ?>
ただし、これを入れると、Netbeansが管理しているCSSクラス名、ID名の補完が効かなくなります。たぶん、ビューにコードをバリバリ書くのは、コントローラーが渡したデーターを処理する程度なので、クラス云々の補完を選ぶより、クラス名やID名やhtml、CSSを書くときの要素名などの補完を選んだほうが、使いやすいはずですので、これは無用のハックですね。
本当に便利ですね。Netbeans。CIもなかなか使いやすそうです。
| CoudFlaerを導入しました< 前 | 次 >cakephpメモ |
|---|
| < 前 | 次 > |
|---|