web-dev-qa-db-ja.com

PHPでローカル変数に注釈を付ける

私はEclipse PDTを使用していて、Phpdocを使用してローカル変数に注釈を付けたいです。

私が見るのは、@varまたは@propertyを使用してクラスの変数/プロパティに注釈を付けることができるということだけですが、これはローカル変数でどのように可能ですか?

どうすればこのようなことができますか?

function foo(){
  /** @var Stock $a */
  $a->save();
}
27
tzortzik

Phpdoc標準はこれらのアノテーションをカバーしていません(@var 鬼ごっこ);ただし、Eclipse(PDTなど)では完全に可能です。

/* @var $variable Type */
 ^         ^        `--- type
 |      variable           
 |
 `--- single star

これは他のすべてのPHP IDE、NetbeansやPhpstormなどのIDEでも機能します。コードを他の人と交換する場合に便利です。

コード例:

<?php

/* @var $doc DOMDocument */
$doc->
 

スクリーンショットの例(Eclipse PDT(Indigo)):

Eclipse PDT (Indigo)

関連する質問と回答:

59
hakre

これは古い質問ですが、参照用です。 @varアノテーションを機能させるには、現在のファイルにUseTypeステートメントを含める必要があります

<?php
use YourVendor\YourBundle\Entity\ProductType;

...

/* @var $product_type ProductType */
$foo = $product_type->getName();
5
Gabriel