1. 程式人生 > >配置phpstorm完美支援Codeigniter(CI)程式碼自動完成(程式碼提示)

配置phpstorm完美支援Codeigniter(CI)程式碼自動完成(程式碼提示)

1、設定字型、風格




程式碼主題選擇Monokai會是彩色的程式碼。

2、配置CI程式碼提示

<1>下載程式碼提示專案:

https://github.com/topdown/phpStorm-CC-Helpers

<2>拷貝提示片段:

將CI_phpStorm.php,DB_active_rec.php(改名為DB_query_builder.php),my_models.php拷貝到網站根目錄,即index.php同目錄下。

<3>將CI核心類設為純文字:

將system裡面的core/Controller.php,core/Model.php,database/DB_query_builder.php右鍵設為plain text。

現在已經有程式碼完成功能了。

<4>實現model提示功能:

把Model類在my_models.php的註釋裡新增,注意把類名首字母大寫改為小寫。這樣Model就能提示了。

<5>實現view提示:
<h2><?php
    /**
     * @see News::index()
     * @var News $title
     * @var News $news
     */
    echo $title;
?></h2>

相應的controller類需要實現__toString()方法,就可以了。

按住ctrl+滑鼠左鍵,就可以看到他來自於哪個類(ctrl+q顯示註釋),如果點選函式名則可以導航到那個函式。

<6>model子資料夾

在model再建立資料夾,比如建立這樣一個model類:mod/Test1_model.php。

同樣是在my_models.php裡添加註釋,但是忽略mod資料夾,當這個資料夾不存在一樣:

@property test1_model      $test1_model

但是在程式碼load的時候,這個資料夾要體現出來,這樣體現出來也不會影響這個程式碼提示的:

$this->load->model('mod/test1_model');
$data['news2'] = $this->test1_model->getData();
<7>實現library自定義類提示功能

自定義程式碼會放在libraries裡面,並且會放在一個單獨的子資料夾裡。因為這個程式碼可能會重用,這個子資料夾會單獨做為一個git,而其他的程式碼則重用的可能性不大、緊扣本網站的獨特業務邏輯,不考慮重用問題。那麼這種自定義程式碼如何做程式碼提示?跟model是一樣的:

@property Testzphp         $testzphp

然後在controller裡:
			$this->load->library('zphp/Testzphp');
			$data['zphp'] = $this->testzphp->test(235);
<8>自定義變數程式碼提示

由於不能指定型別,變數往往不能直接使用自定義類的方法,我們可以給他新增程式碼提示。

注意:程式碼提示只是程式碼提示,並不是真的完成型別轉換。

全域性變數的程式碼提示新增在變數的上方,比如:

    /**
     * @var CommonOrderInfo $orderInfo
     */
    private $orderInfo = null;

如果是在函式內的區域性變數,那麼在函式外定義這個程式碼提示是不對的,因為他的作用範圍不在那裡,正確的做法仍然是新增在變數上方。如果for迴圈則可以新增在迴圈的上方,或者在迴圈內部再次用到變數的時候新增在變數的上方。
        /**
         * @var CommonOrderItem $item
         */
        foreach ($this->orderItems as $item)
        {}


3、git配置

將.idea新增到忽略清單。

4、拼寫檢查去掉

project settings ---> inspections ---> spelling ---> Typo的勾去掉

5、快捷鍵

<1>快速導航

當通過程式碼導航到對應的類-方法檢視原始碼之後,需要能快速的返回回來:ctrl+alt+左箭頭/右箭頭