2012-08-28 22 views
9

मैं इस php टिप्पणी में (@var) एक बहुत देखते हैं और कोई सुराग नहीं इसका क्या मतलब है। कृपया बताओ।क्या 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/ डॉक्स/नवीनतम/के लिए उपयोगकर्ताओं/टैग/var.html) – Hawili

उत्तर

13

आप कक्षा प्रकार के डेटा प्रकार को दस्तावेज़ करने के लिए @var टैग का उपयोग कर सकते हैं।

डेटाप्रकार एक वैध पीएचपी प्रकार (पूर्णांक, स्ट्रिंग, bool, आदि), ऑब्जेक्ट का प्रकार, या बस "मिश्रित" के लिए एक वर्ग के नाम होना चाहिए। phpDocumentor वैकल्पिक वर्णन असंशोधित, और डिफ़ॉल्ट रूप में प्रदर्शित करेगा "मिश्रित" अगर डेटाप्रकार वर्तमान

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

@var टैग के साथ नहीं है, यह प्रकार दस्तावेज़ के लिए संभव है और एक वर्ग संपत्ति का कार्य। प्रदान किए जाने पर इसमें इंगित करने के लिए एक प्रकार होना चाहिए; दूसरी ओर वर्णन वैकल्पिक है अभी तक इस तरह के साहचर्य सरणियों के रूप में जटिल संरचनाओं, के मामले में सिफारिश की।

@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(); 
} 
+0

लिंक निष्क्रिय है। –

+0

लिंक बदल गया और नए से जोड़ा गया उद्धरण – CosminO

1

है phpdoc, स्वचालित प्रलेखन बनाने के लिए:

phpdoc

5

वे phpdoc टिप्पणी कर रहे हैं और आम तौर पर आईडीई-typehinting/कोड पूरा करने के लिए उपयोग किया जाता है (कभी-कभी इसे प्रलेखन- पीढ़ी, लेकिन इस परिदृश्य में नहीं)। उनके पास आवेदन पर कोई प्रासंगिकता नहीं है और बिना किसी घटना के हटाया जा सकता है।

+1

वहाँ एक php आईडीई है ????? पवित्र sh ** बताओ बताओ! (मैक ओएसएक्स का उपयोग करना) – sean

+0

बहुत सारे हैं ...इम्हो सबसे अच्छा है phpStorm (win/mac/linux) लेकिन दूसरों के बीच नेटबीन और ग्रहण भी है – Lusitanian

+0

आपने मेरी सुबह, मेरे दोस्त को बनाया है। मैं उन्हें देख लूंगा। – sean

2

यह एक इनलाइन प्रकार संकेत में है।

उदा

/* @var bool */ 
$switch 

इस मामले में यह मतलब है $this प्रकार CategoriesController की है और $data प्रकार Categories

अक्सर प्रकार हिंट करने के लिए IDEs द्वारा प्रयोग किया जाता का है।

संबंधित मुद्दे