2013-03-15 92 views
5

私はIntelliJ IDEA 12を使用して、CodeIgniterフレームワークを使用してPHP Webアプリケーションを開発しています。IntelliJ IDEA 12がCodeIgniterクラスを見つけられず、エラーを投げる

enter image description here

あなたが見ることができるように、私はすべての単一のCodeIgniterのクラス/メソッドの下にそれらの迷惑なオレンジ色のsquiggliesを取得:原因CIは、IDEAは、それらが呼び出されているとき、彼らは存在しないと考えて、オブジェクトとメソッドをインスタンス化する方法に私は使用しようとします。私はどちらかのこれらのエラー(しかし、他のではないエラーを無視するのIntelliJ IDEAを得ることができる方法はあり

class CI_Controller { 

    private static $instance; 

    /** 
    * Constructor 
    */ 
    public function __construct() 
    { 
     self::$instance =& $this; 

     // Assign all the class objects that were instantiated by the 
     // bootstrap file (CodeIgniter.php) to local class variables 
     // so that CI can run as one big super object. 
     foreach (is_loaded() as $var => $class) 
     { 
      $this->$var =& load_class($class); 
     } 

     $this->load =& load_class('Loader', 'core'); 

     $this->load->initialize(); 

     log_message('debug', "Controller Class Initialized"); 
    } 

    public static function &get_instance() 
    { 
     return self::$instance; 
    } 
} 

:ここ

は、彼らがオブジェクトを作成しているどのようにいくつかの洞察を与えて、 CI_Controllerクラスのコードです)、またはオブジェクトを単独で見つけることができますか?

注:以前は、IntelliJ IDEAプラットフォーム上でPHP IDEビルドを使用していましたが、これはCodeIgniterの場合と同じことでした。

+0

は 'Aptana'を使用します。 'Codeigniter'に最適です。 –

+1

@ YogeshSuthar私はそれについて検討しますが、IntelliJ IDEAでCIを動作させるソリューションを好むでしょう。 –

+0

Google検索では、問題がある唯一のものではないことがわかります。私は崇高なテキストを使用し、それはCIのために完璧です - サードパーティによって作成されたいくつかのコード補完プラグインさえあります。 –

答えて

8

私はこれを次のように解決しました:this guide。それはPHPStormのために意図されていましたが、IntelliJ IDEAのためにも働いています(おそらくWebStorm!)。それは実際にはとても簡単でした。基本的な要約:

  1. プロジェクトルートに以下のPHPコードを保存しました。それは基本的にただたPHPDocコメントです:
 
    <?php die('This file is not really here!'); 

    /** 
    * ------------- DO NOT UPLOAD THIS FILE TO LIVE SERVER --------------------- 
    * 
    * Implements code completion for CodeIgniter in phpStorm 
    * phpStorm indexes all class constructs, so if this file is in the project it will be loaded. 
    * ------------------------------------------------------------------- 
    * Drop the following file into a CI project in phpStorm 
    * You can put it in the project root and phpStorm will load it. 
    * (If phpStorm doesn't load it, try closing the project and re-opening it) 
    * 
    * Under system/core/ 
    * Right click on Controller.php and set Mark as Plain Text 
    * Do the same for Model.php 
    * ------------------------------------------------------------------- 
    * This way there is no editing of CI core files for this simple layer of code completion. 
    * 
    * PHP version 5 
    * 
    * LICENSE: GPL http://www.gnu.org/copyleft/gpl.html 
    * 
    * Created 1/28/12, 11:06 PM 
    * 
    * @category 
    * @package CodeIgniter CI_phpStorm.php 
    * @author  Jeff Behnke 
    * @copyright 2009-11 Valid-Webs.com 
    * @license GPL http://www.gnu.org/copyleft/gpl.html 
    * @version 2012.01.28 
    */ 

    /** 
    * @property CI_DB_active_record $db    This is the platform-independent base Active Record implementation class. 
    * @property CI_DB_forge $dbforge     Database Utility Class 
    * @property CI_Benchmark $benchmark    This class enables you to mark points and calculate the time difference between them.
Memory consumption can also be displayed. * @property CI_Calendar $calendar This class enables the creation of calendars * @property CI_Cart $cart Shopping Cart Class * @property CI_Config $config This class contains functions that enable config files to be managed * @property CI_Controller $controller This class object is the super class that every library in.
CodeIgniter will be assigned to. * @property CI_Email $email Permits email to be sent using Mail, Sendmail, or SMTP. * @property CI_Encrypt $encrypt Provides two-way keyed encoding using XOR Hashing and Mcrypt * @property CI_Exceptions $exceptions Exceptions Class * @property CI_Form_validation $form_validation Form Validation Class * @property CI_Ftp $ftp FTP Class * @property CI_Hooks $hooks Provides a mechanism to extend the base system without hacking. * @property CI_Image_lib $image_lib Image Manipulation class * @property CI_Input $input Pre-processes global input data for security * @property CI_Lang $lang Language Class * @property CI_Loader $load Loads views and files * @property CI_Log $log Logging Class * @property CI_Model $model CodeIgniter Model Class * @property CI_Output $output Responsible for sending final output to browser * @property CI_Pagination $pagination Pagination Class * @property CI_Parser $parser Parses pseudo-variables contained in the specified template view,
replacing them with the data in the second param * @property CI_Profiler $profiler This class enables you to display benchmark, query, and other data
in order to help with debugging and optimization. * @property CI_Router $router Parses URIs and determines routing * @property CI_Session $session Session Class * @property CI_Sha1 $sha1 Provides 160 bit hashing using The Secure Hash Algorithm * @property CI_Table $table HTML table generation
Lets you create tables manually or from database result objects, or arrays. * @property CI_Trackback $trackback Trackback Sending/Receiving Class * @property CI_Typography $typography Typography Class * @property CI_Unit_test $unit_test Simple testing class * @property CI_Upload $upload File Uploading Class * @property CI_URI $uri Parses URIs and determines routing * @property CI_User_agent $user_agent Identifies the platform, browser, robot, or mobile devise of the browsing agent * @property CI_Validation $validation //dead * @property CI_Xmlrpc $xmlrpc XML-RPC request handler class * @property CI_Xmlrpcs $xmlrpcs XML-RPC server class * @property CI_Zip $zip Zip Compression Class * @property CI_Javascript $javascript Javascript Class * @property CI_Jquery $jquery Jquery Class * @property CI_Utf8 $utf8 Provides support for UTF-8 environments * @property CI_Security $security Security Class, xss, csrf, etc... */ class CI_Controller{} /** * @property CI_DB_active_record $db This is the platform-independent base Active Record implementation class. * @property CI_DB_forge $dbforge Database Utility Class * @property CI_Benchmark $benchmark This class enables you to mark points and calculate the time difference between them.
Memory consumption can also be displayed. * @property CI_Calendar $calendar This class enables the creation of calendars * @property CI_Cart $cart Shopping Cart Class * @property CI_Config $config This class contains functions that enable config files to be managed * @property CI_Controller $controller This class object is the super class that every library in.
CodeIgniter will be assigned to. * @property CI_Email $email Permits email to be sent using Mail, Sendmail, or SMTP. * @property CI_Encrypt $encrypt Provides two-way keyed encoding using XOR Hashing and Mcrypt * @property CI_Exceptions $exceptions Exceptions Class * @property CI_Form_validation $form_validation Form Validation Class * @property CI_Ftp $ftp FTP Class * @property CI_Hooks $hooks Provides a mechanism to extend the base system without hacking. * @property CI_Image_lib $image_lib Image Manipulation class * @property CI_Input $input Pre-processes global input data for security * @property CI_Lang $lang Language Class * @property CI_Loader $load Loads views and files * @property CI_Log $log Logging Class * @property CI_Model $model CodeIgniter Model Class * @property CI_Output $output Responsible for sending final output to browser * @property CI_Pagination $pagination Pagination Class * @property CI_Parser $parser Parses pseudo-variables contained in the specified template view,
replacing them with the data in the second param * @property CI_Profiler $profiler This class enables you to display benchmark, query, and other data
in order to help with debugging and optimization. * @property CI_Router $router Parses URIs and determines routing * @property CI_Session $session Session Class * @property CI_Sha1 $sha1 Provides 160 bit hashing using The Secure Hash Algorithm * @property CI_Table $table HTML table generation
Lets you create tables manually or from database result objects, or arrays. * @property CI_Trackback $trackback Trackback Sending/Receiving Class * @property CI_Typography $typography Typography Class * @property CI_Unit_test $unit_test Simple testing class * @property CI_Upload $upload File Uploading Class * @property CI_URI $uri Parses URIs and determines routing * @property CI_User_agent $user_agent Identifies the platform, browser, robot, or mobile devise of the browsing agent * @property CI_Validation $validation //dead * @property CI_Xmlrpc $xmlrpc XML-RPC request handler class * @property CI_Xmlrpcs $xmlrpcs XML-RPC server class * @property CI_Zip $zip Zip Compression Class * @property CI_Javascript $javascript Javascript Class * @property CI_Jquery $jquery Jquery Class * @property CI_Utf8 $utf8 Provides support for UTF-8 environments * @property CI_Security $security Security Class, xss, csrf, etc... */ class CI_Model{}

2.プレーンテキストとしてマーク>のIntelliJ IDEAと右clicked-の内部/system/core/controller.php/system/core/model.phpを発見しました。

3.完了!それは素晴らしい、虚偽のエラー、そしてコードの補完はうまくいきます!

enter image description here

+0

おそらくもっと良い検索をしているはずです。うまくいけば、この問題を抱えている誰かを助けるための答えとしてこれを掲示してください。 –

+0

それは私のために働いていない私は定義されていない関数form_open()など –

0

これは私のために働いたソリューションです:https://github.com/Stunt/Codeigniter-autocomplete/

私はphpStormを使用していますが、私はそれがIDEAに働くだろうと想像。

ファイルをプレーンテキストとしてマークする必要はありません。 autocomplete.phpファイルをapplication/configフォルダにドロップするだけで動作します。私はgithubのリンクが悪くなるのではないかと疑っていますが、ここではファイルの内容です。

<?php 
// help IDE(s) support Codeigniter 2.0 
/** 
* @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 
* 
* 
* 
* These are samples entries to make my own functions work. 
* Remove these and add you custom ones. 
* @property Tank_auth $tank_auth 
* @property Users_model $users_model 
* @property Firms_model $firms_model 
* @property Firms_model_master $firms_model_master 
* 
* 
*/ 
class CI_Controller {}; 
class MY_Controller extends 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 {}; 
/* End of file autocomplete.php */ 
/* Location: ./application/config/autocomplete.php */ 
?> 

CIv3のアップデート:CodeIgniter V 3.xを使用している場合は、代わりにこれを使用してください。

<?php 
/** 
* @property CI_DB_query_builder|CI_DB_postgre_driver $db    This is the platform-independent base Active Record implementation class. 
* @property CI_DB_forge $dbforge     Database Utility Class 
* @property CI_Benchmark $benchmark    This class enables you to mark points and calculate the time difference between them.<br /> Memory consumption can also be displayed. 
* @property CI_Calendar $calendar    This class enables the creation of calendars 
* @property CI_Cart $cart      Shopping Cart Class 
* @property CI_Config $config     This class contains functions that enable config files to be managed 
* @property CI_Controller $controller   This class object is the super class that every library in.<br />CodeIgniter will be assigned to. 
* @property CI_Email $email      Permits email to be sent using Mail, Sendmail, or SMTP. 
* @property CI_Encrypt $encrypt     Provides two-way keyed encoding using XOR Hashing and Mcrypt 
* @property CI_Exceptions $exceptions   Exceptions Class 
* @property CI_Form_validation $form_validation Form Validation Class 
* @property CI_Ftp $ftp       FTP Class 
* @property CI_Hooks $hooks      Provides a mechanism to extend the base system without hacking. 
* @property CI_Image_lib $image_lib    Image Manipulation class 
* @property CI_Input $input      Pre-processes global input data for security 
* @property CI_Lang $lang      Language Class 
* @property CI_Loader $load      Loads views and files 
* @property CI_Log $log       Logging Class 
* @property CI_Model $model      CodeIgniter Model Class 
* @property CI_Output $output     Responsible for sending final output to browser 
* @property CI_Pagination $pagination   Pagination Class 
* @property CI_Parser $parser     Parses pseudo-variables contained in the specified template view,<br />replacing them with the data in the second param 
* @property CI_Profiler $profiler    This class enables you to display benchmark, query, and other data<br />in order to help with debugging and optimization. 
* @property CI_Router $router     Parses URIs and determines routing 
* @property CI_Session $session     Session Class 
* @property CI_Encryption $encryption   The Encryption Library provides two-way data encryption 
* @property CI_Table $table      HTML table generation<br />Lets you create tables manually or from database result objects, or arrays. 
* @property CI_Trackback $trackback    Trackback Sending/Receiving Class 
* @property CI_Typography $typography   Typography Class 
* @property CI_Unit_test $unit_test    Simple testing class 
* @property CI_Upload $upload     File Uploading Class 
* @property CI_URI $uri       Parses URIs and determines routing 
* @property CI_User_agent $user_agent   Identifies the platform, browser, robot, or mobile devise of the browsing agent 
* @property CI_Form_validation $validation 
* @property CI_Xmlrpc $xmlrpc     XML-RPC request handler class 
* @property CI_Xmlrpcs $xmlrpcs     XML-RPC server class 
* @property CI_Zip $zip       Zip Compression Class 
* @property CI_Javascript $javascript   Javascript Class 
* @property CI_Jquery $jquery     Jquery Class 
* @property CI_Utf8 $utf8      Provides support for UTF-8 environments 
* @property CI_Security $security    Security Class, xss, csrf, etc... 
* @property Tank_auth $tank_auth 
* 
*/ 
class CI_Controller{} 
class MY_Controller extends CI_Controller {}; 
/** 
* @property CI_DB_query_builder|CI_DB_postgre_driver $db    This is the platform-independent base Active Record implementation class. 
* @property CI_DB_forge $dbforge     Database Utility Class 
* @property CI_Benchmark $benchmark    This class enables you to mark points and calculate the time difference between them.<br /> Memory consumption can also be displayed. 
* @property CI_Calendar $calendar    This class enables the creation of calendars 
* @property CI_Cart $cart      Shopping Cart Class 
* @property CI_Config $config     This class contains functions that enable config files to be managed 
* @property CI_Controller $controller   This class object is the super class that every library in.<br />CodeIgniter will be assigned to. 
* @property CI_Email $email      Permits email to be sent using Mail, Sendmail, or SMTP. 
* @property CI_Encrypt $encrypt     Provides two-way keyed encoding using XOR Hashing and Mcrypt 
* @property CI_Exceptions $exceptions   Exceptions Class 
* @property CI_Form_validation $form_validation Form Validation Class 
* @property CI_Ftp $ftp       FTP Class 
* @property CI_Hooks $hooks      Provides a mechanism to extend the base system without hacking. 
* @property CI_Image_lib $image_lib    Image Manipulation class 
* @property CI_Input $input      Pre-processes global input data for security 
* @property CI_Lang $lang      Language Class 
* @property CI_Loader $load      Loads views and files 
* @property CI_Log $log       Logging Class 
* @property CI_Model $model      CodeIgniter Model Class 
* @property CI_Output $output     Responsible for sending final output to browser 
* @property CI_Pagination $pagination   Pagination Class 
* @property CI_Parser $parser     Parses pseudo-variables contained in the specified template view,<br />replacing them with the data in the second param 
* @property CI_Profiler $profiler    This class enables you to display benchmark, query, and other data<br />in order to help with debugging and optimization. 
* @property CI_Router $router     Parses URIs and determines routing 
* @property CI_Session $session     Session Class 
* @property CI_Encryption $encryption   The Encryption Library provides two-way data encryption 
* @property CI_Table $table      HTML table generation<br />Lets you create tables manually or from database result objects, or arrays. 
* @property CI_Trackback $trackback    Trackback Sending/Receiving Class 
* @property CI_Typography $typography   Typography Class 
* @property CI_Unit_test $unit_test    Simple testing class 
* @property CI_Upload $upload     File Uploading Class 
* @property CI_URI $uri       Parses URIs and determines routing 
* @property CI_User_agent $user_agent   Identifies the platform, browser, robot, or mobile devise of the browsing agent 
* @property CI_Form_validation $validation 
* @property CI_Xmlrpc $xmlrpc     XML-RPC request handler class 
* @property CI_Xmlrpcs $xmlrpcs     XML-RPC server class 
* @property CI_Zip $zip       Zip Compression Class 
* @property CI_Javascript $javascript   Javascript Class 
* @property CI_Jquery $jquery     Jquery Class 
* @property CI_Utf8 $utf8      Provides support for UTF-8 environments 
* @property CI_Security $security    Security Class, xss, csrf, etc... 
* @property Tank_auth $tank_auth 
*/ 
class CI_Model {}; 

私はこのすべてのことについて賞賛することはできません。私はこれらの多くを見つけたが、どこを思い出さない。私はそれを完了させるためにいくつかを追加する必要があった。

+0

のようなエラーを取得しています私は敵私はCI-3を使用して私の敵を働いていない... –

+0

私は未定義関数form_open ()など... –

+0

組み込みのCI関数では機能しますか?そうであれば、正しく動作しています。あなたのカスタム関数でそれを動作させるには、以下のエントリを変更します。*これは、自分自身の関数を動作させるためのサンプルエントリです。 *これらを削除してカスタムのものを追加します。 –

関連する問題