0

NetBeans のオートコンプリート機能で問題が発生しています。Symfony2 PHP プロジェクトに NetBeans を使用し、主にオートコンプリート機能 (ドキュメントの生成用ではない) に phpDocumentor を使用しています。

これらの間の正しい構文は何ですか (または基本的に同じです)?

完全修飾クラス名:

class MyClass
{

    /**
     * @param \MyCompany\MyBundle\Entity\User $user
     * @return string
     */
    public function myFunction(\MyCompany\MyBundle\Entity\User $user) { }

}

クラス名:

use \MyCompany\MyBundle\Entity\User;

class MyClass
{

    /**
     * @param User $user
     * @return string
     */
    public function myFunction(User $user) { }

}
4

1 に答える 1

1

技術的には両方とも正しいです。

Zend Studio(Eclipse)は、ターゲットクラスが現在のプロジェクトのビルドパスの一部でない限り、オートコンプリートを生成しません。たぶん、NetBeansには似たようなものがありますか?

正確にどのような問題がありますか?

編集

参考までに、適切な名前空間がすでに使用されている場合でも、戻り値にはFQCNを使用する必要がありますたとえば、ユーザーMyClass::myFunction()を返す場合は、これを実行します

use \MyCompany\MyBundle\Entity\User;

class MyClass
{

    /**
     * @param User $user
     *
     * @return \MyCompany\MyBundle\Entity\User
     */
    public function myFunction(User $user) { }

}
于 2012-05-22T21:55:58.280 に答える