20
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

phpstormでメソッドのコメントtips

phpstormではメソッドにコメントを書いてやると勝手に判別して保管候補を表示してくれて賢いのでコメントを書いてやればいろいろと特をする。

たとえばfunctionのreturn にhugeクラスが書かれていたとしたら、そのfunctionを呼び出して変数に格納した後からでもhugeクラス内で記述されたものが候補として表示されるので良い。

さぁレッツコメント

基本的にphpDocumentorの記述方法を参考に
http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.pkg.html

まずはコメントが無いメソッドを作成、paramとreturnは最低限書いておけばコメントの意味をなす

    public function fuge(array $hoge, $unntann = null)
    {
        return true;
    }

/**を入力してエンターを押すと以下のようにコメントが自動で挿入される

    /**
    public function fuge(array $hoge, $unntann = null)
    {
        return true;
    }
    /**
     * @param array $hoge
     * @param null $unntann
     * @return bool
     */
    public function fuge(array $hoge, $unntann = null)
    {
        return true;
    }

クラスを自動判別してコメントに記入してくれもする

    /**
     * @return Huge
     */
    public static function getOneHuge()
    {
        $huge = new Huge();
        return $huge;
    }

array形式で返ってくる場合は以下のように何のarrayで返ってくるのかが保管が判別してくれなくよくわからなくなる。

    /**
     * @return array
     */
    public static function getListHuge()
    {
        $hugeList = array();

        for ($i=0;$i>3;$i++) {
            $hugeList[] = new Huge();
        }
        return $hugeList;
    }

これだと保管候補として何を表示すればいいか判別が出来ないので少しコメントを書き換えてやる

    /**
     * @return Huge[]
     */
    public static function getListHuge()
    {
        $hugeList = array();

        for ($i=0;$i>3;$i++) {
            $hugeList[] = new Huge();
        }
        return $hugeList;
    }

@return Huge[] にしてやればarrayの中にHugeクラスが格納されていることを判別してくれるので保管をしてくれる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
20
Help us understand the problem. What are the problem?