首頁  >  文章  >  後端開發  >  php框架 - php類別陣列成員變數怎麼智慧提示(自動補全)?

php框架 - php類別陣列成員變數怎麼智慧提示(自動補全)?

WBOY
WBOY原創
2016-12-01 01:27:371231瀏覽

<code>class a{
    static $config = [
        'id' => 1,
        'status' => ['status1'=>1,'status2'=>2]
    ];
  }
</code>

$s = new a();
echo s::config->id;
die;

怎麼讓s::$config->可以自動補全出來id和status.....

回覆內容:

<code>class a{
    static $config = [
        'id' => 1,
        'status' => ['status1'=>1,'status2'=>2]
    ];
  }
</code>

$s = new a();
echo s::config->id;
die;

怎麼讓s::$config->可以自動補全出來id和status.....

當然可以做到,可以藉助phpdoc註解、一個實作了ArrayAccess介面且帶有你需要的被提示的屬性的輔助類,就可以了。

原理其實就是讓ide誤認為這個陣列是個類別進而自動提示補全屬性名,而ArrayAccess具有把類別物件當作陣列操作的「黑」魔法。

ide的程式碼提示都是在載入工程的時候產生索引,然後在輸入相關字元的時候出發檢索完成提示,數組這種如果也要提示,可能性極小,這種耗費資源太多,而且都是局部的,不停的檢索。不過如果用sublime它會提示最近用的詞,這或許可以滿足一點你的需求

phpstorm可以自動提示類別成員變量,至於提示數組類型成員變量的元素,暫時未涉及

一般的IDE開發工具都會提示類別成員變數和類別成員方法名稱,不過你說的提示我暫時還沒找到。

基本上不能,簡單來說這些數組是在運行時去創建的,語法解析現在沒有做到這程度,而且也沒有必要。

例如:
我要在程式碼裡把陣列裡某個key給刪了,提示怎麼辦?

這種陣列結構層面上的補全註釋和補全還不如研究研究phpdoc來得實在

ArrayAccess

新版一點的phpstorm已經支持了,今天同事說他的有提示啊,我的const array 聲明直接就報紅了。 。 。 。 他的phpstorm就支持。 。 。 。 ! !
php框架 - php類別陣列成員變數怎麼智慧提示(自動補全)?

PHPDoc +1 可以參考這篇http://www.07net01.com/progra...

有些IDE是可以實現的 安裝對應的插件也可以 建議用sublime

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn