24

これ (@var) は PHP のコメントでよく見かけますが、それが何を意味するのかわかりません。伝えてください。

// 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

6 に答える 6

23

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

データ型は、有効な PHP 型 (int、string、bool など)、オブジェクトの型のクラス名、または単に「混合」である必要があります。phpDocumentor はオプションの説明を変更せずに表示し、データ型が存在しない場合はデフォルトで「混合」になります

https://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.var.pkg.html

@var タグを使用すると、クラス プロパティの型と機能を文書化できます。提供される場合、期待されるものを示す Type が含まれている必要があります。一方、説明はオプションですが、連想配列などの複雑な構造の場合は推奨されます。

@var タグには複数行の説明を含めることができ、明示的な区切りは必要ありません。

文書化するときは、すべてのプロパティでこのタグを使用することをお勧めします。

このタグは、PHPDoc 内のプロパティごとに複数回出現してはならず、プロパティ タイプの構造要素に限定されます。

例:

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();
}
于 2012-08-28T12:16:51.857 に答える
8

これらは PHPdoc コメントであり、通常は IDE のタイプヒンティング/コード補完に使用されます (ドキュメントの生成にも使用されますが、このシナリオでは使用されません)。それらはアプリケーション自体とは無関係であり、問​​題なく削除できます。

于 2012-08-28T12:15:58.337 に答える
5

インライン型のヒントです。

例えば

/* @var bool */
$switch

この場合、それは$thisis of typeCategoriesControllerであり、$datais of type であることを意味しますCategories

型ヒントのために IDE でよく使用されます。

于 2012-08-28T12:16:50.147 に答える
2

http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.var.pkg.html

于 2012-08-28T12:15:50.833 に答える
1

つまりphpdoc、自動化されたドキュメントを作成するには:

phpdoc

于 2012-08-28T12:15:48.910 に答える