2012-08-28 9 views
9

Widzę to (@var) w komentarzach php i nie mam pojęcia, co to oznacza. Proszę powiedzieć.Co to znaczy @var w komentarzach 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

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

Odpowiedz

13

Możesz użyć znacznika @var do udokumentowania typu danych dla zmiennych klas.

Typ danych powinien być poprawnym typem PHP (int, string, bool, itp.), Nazwą klasy dla typu obiektu lub po prostu "mixed". PhpDocumentor wyświetli opcjonalny opis niezmodyfikowanej i domyślnie „mieszane”, jeśli typ danych nie jest obecna

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

Przy znaczniku @ var możliwe jest udokumentować rodzaj i funkcja właściwości klasy. Pod warunkiem, że MUSI zawierać Typ, który wskazuje , czego się oczekuje; opis z drugiej strony jest OPCJONALNY, ale ZALECANY w przypadku skomplikowanych struktur, takich jak tablice asocjacyjne .

Znacznik @var MOŻE mieć opis wieloliniowy i nie wymaga jednoznacznego wytyczenia w postaci .

Jest to zalecane podczas dokumentowania, aby użyć tego znacznika dla każdej właściwości .

Ten znacznik NIE MOŻE wystąpić więcej niż raz dla każdej właściwości w PHPDoc i jest ograniczony do elementów strukturalnych typu właściwość.

przykład:

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

Łącze jest nieważne. –

+0

zmieniony link i dodano cytat z nowego – CosminO

1

To phpdoc, aby zautomatyzowane dokumentacji:

phpdoc

5

Są komentarze PHPDoc i są zazwyczaj wykorzystywane do IDE-typehinting/uzupełnianie kodu (również czasami documentation- generacji, ale nie w tym scenariuszu). Nie mają one znaczenia dla samej aplikacji i można je usunąć bez żadnych incydentów.

+1

Czy istnieje php IDE ????? Holy sh ** nie mów! (Korzystanie z Mac OSX) – sean

+0

Istnieje wiele ...Najlepszym z nich jest phpStorm (win/mac/linux), ale są też netbeans i eclipse, między innymi – Lusitanian

+0

Zrobiłeś moje rano, mój przyjacielu. Sprawdzę je. – sean

2

Jest to wskazówka typu liniowego.

np.

/* @var bool */ 
$switch 

W tym przypadku oznacza to, $this jest typu CategoriesController i $data jest typu Categories

często używany przez IDE na pliku sygnatur.