7

いくつかのプロパティを持つ stdClass のインスタンスがあります。PHPDoc でこれらのプロパティを宣言する正しい方法はどれですか? 私はこれを試しましたが、うまくいかないようです:

    /** 
     * @var $requestParams stdClass
     * @property string cancelUrl 
     */
    $requestParams = $someObj->getSomething();
4

2 に答える 2

1

問題new stdClass()は、その場でプロパティを宣言できるため、すべてのコードを解析して新しいプロパティを追加するすべての場所を見つけるのが難しいため、代わりにそのクラスを作成してドキュメント化する必要があることです。クラス:

したがって、これを行う代わりに:

/**
 * ... doc block here
 */
class SomeObj {
    /**
     * ... doc block here
     * @return stdClass
     */
    function getSomething() {
        return new stdClass();
    }
}

これをして:

/**
 * ... doc block here
 */
class SomeObj {
    /**
     * ... doc block here
     * @return Something
     */
    function getSomething() {
        return new Something();
    }
}

/**
 * ... doc block here
 */
class Something {
    /**
     * @var string
     */
    public $cancelUrl;
}
于 2013-06-12T13:17:58.283 に答える