2012-08-28 5 views
9

PHPのコメントでこれを(@var)とよく見ています。伝えてください。 phpdocあるPHPのコメントで@varの意味は何ですか?

// example.php (taken from yii framework application code) 

<?php 
/* @var $this CategoriesController */ 
/* @var $data Categories */ 
?> 

<div class="view"> 

    <b><?php echo CHtml::encode($data->getAttributeLabel('idCategory')); ?>:</b> 
    <?php echo CHtml::link(CHtml::encode($data->idCategory), array('view', 'id'=>$data->idCategory)); ?> 
    <br /> 
</div> 
+4

[http://www.phpdoc.org/docs/latest/for-users/tags/var.html](http://www.phpdoc.org/ docs/latest/for-users/tags/var.html) – Hawili

答えて

13

@varタグを使用して、クラス変数のデータ型を文書化することができます。

データ型は、有効なPHP型(int、string、boolなど)、オブジェクト型のクラス名 、または単に「混合」である必要があります。 phpDocumentorの は、データ型が@varタグ付き

http://www.phpdoc.org/docs/latest/references/phpdoc/tags/var.html

存在しない場合、タイプを文書化することができるオプションの説明非修飾を表示し、 デフォルト「混合」であろうとクラスプロパティの関数。それが提供されるとき、それは期待されるものが を示すタイプを含んでいなければなりません。他方では、 のような複雑な構造の場合には、 が推奨されています(アラインメント )。

@varタグは、複数行記述を持ち、 明示的区切りを必要としません。

プロパティごとにこのタグを使用することを文書化するときは、RECOMMENDEDを推奨します。

このタグは、PHPDocのプロパティごとに2回以上現れてはならず、 はtypeというプロパティの構造要素に限定されています。

例:

class DemoVar 
{ 
    /** 
    * Summary 
    * 
    * @var object Description 
    */ 
    protected $varWithDescriptions; 

    /** 
    * @var \DemoVar $instance The class instance. 
    */ 
    protected static $instance; 

    /** 
    * Summary for varWithWrongType 
    * 
    * @var boolean The varWithWrongType. Boolean will be put in the type. 
    */ 
    protected $varWithWrongType = array(); 
} 
+0

リンクが無効です。 –

+0

リンクが変更され、新しいものから引用が追加されました – CosminO

1

、自動化されたドキュメントを作るために:

phpdoc

5

を彼らはPHPDOCのコメントであり、一般的にも時々(IDE-typehinting /コード補完のために使用されていますdocumentation-このシナリオでは発生しません)。アプリケーション自体には関連性がなく、事態なく削除することができます。

+1

PHPのIDEはありますか?聖なるもの**は教えてください! (Mac OSXを使用して) – sean

+0

たくさんあります...一番良いのはphpStorm(win/mac/linux)ですが、他にもnetbeansとeclipseがあります。 – Lusitanian

+0

あなたは私の朝、私の友達を作りました。私はそれらをチェックアウトします。 – sean

2

インラインタイプのヒントです。

この場合

/* @var bool */ 
$switch 

$thisタイプCategoriesController$dataであることを意味するタイプのものが多いタイプヒンティングのためのIDEで使用Categories

あります。

関連する問題