टिप्पणियों में "# @ +" और "# @ -" तार का क्या मतलब है?


15

मुझे कुछ Magento 2 वर्गों की टिप्पणियों में "# @ +" और "# @ -" तार दिखाई देते हैं। \Magento\Customer\Api\Data\AttributeMetadataInterface

interface AttributeMetadataInterface extends \Magento\Framework\Api\MetadataObjectInterface
{
    /**#@+
     * Constants used as keys of data array
     */
    const ATTRIBUTE_CODE = 'attribute_code';
    ...
    const IS_SEARCHABLE_IN_GRID = 'is_searchable_in_grid';
    /**#@-*/
    ...
}

इन मार्करों का उद्देश्य क्या है?

जवाबों:


14

उन वर्णों का उपयोग PHPDoc DocBlock टेम्पलेट घोषित करने के लिए किया जाता है :

DocBlock टेम्पलेट का उद्देश्य निरर्थक टाइपिंग को कम करना है। उदाहरण के लिए, यदि बड़ी संख्या में वर्ग चर निजी हैं, तो कोई उन्हें निजी के रूप में चिह्नित करने के लिए एक डॉकलॉक टेम्पलेट का उपयोग करेगा। DocBlock टेम्प्लेट बस टेम्पलेट ब्लॉक में पाए जाने वाले किसी भी सामान्य DocBlocks को बढ़ाते हैं।

एक डॉकलॉक टेम्पलेट को उसके हेडर द्वारा एक सामान्य डॉकलॉक से अलग किया जाता है।

/**#@+
 *
 */

टेक्स्ट जो इसे DocBlock टेम्पलेट के रूप में चिह्नित करता है, वह "/ ** # @ +" है - सभी 6 वर्ण मौजूद होने चाहिए। डॉकब्लॉक टेम्प्लेट सभी दस्तावेजी तत्वों पर लागू किए जाते हैं जब तक कि समाप्ति खाका मार्कर:

/**#@-*/

ध्यान दें कि सभी 8 वर्णों को "/ ** # @ - * /" के रूप में प्रकट होना चाहिए ताकि उन्हें टेम्पलेट के रूप में पहचानने के लिए phpDocumentor हो।

अधिक जानकारी यहां पाई जा सकती है: http://codingexplained.com/coding/php/how-to-use-docblock-templates-in-phpdoc

कुछ स्पष्टीकरण आधिकारिक Magento के दस्तावेज पर भी उपलब्ध हैं: http://devdocs.magento.com/guides/v2.0/coding-standards/docblock-standard-general.html


6

यदि एक ही प्रकार के कई लगातार तत्वों की घोषणा होती है, तो DocBlock की समान सामग्री उन सभी के लिए प्रासंगिक हो सकती है। इस मामले में उन तत्वों के लिए अलग-अलग DocBlocks, जिन्हें DocBlock टेम्पलेट द्वारा प्रतिस्थापित किया जा सकता है।

DocBlock टेम्पलेट में दो DocBlock टिप्पणियाँ हैं:

समूह के पहले तत्व से पहले टिप्पणी शुरू करना, # @ + का उपयोग करके प्रतिष्ठित किया गया है और निम्नानुसार स्वरूपित किया गया है:

/**#@+
 *
 */

अंतिम टिप्पणी समूह के अंतिम तत्व के बाद, # @ का उपयोग करके प्रतिष्ठित है और निम्नानुसार स्वरूपित है:/**#@-*/

उदाहरण के लिए, कई वर्ग स्थिरांक या विशेषताओं की घोषणा:

class Mage_Core_Model_Layout extends Varien_Simplexml_Config
{
    /**#@+
     * Supported layout directives
     * @var string
     */
    const TYPE_BLOCK = 'block';
    const TYPE_CONTAINER = 'container';
    /**#@-*/

    /**#@+
     * Scheduled structure elements operations
     *
     * @var array
     */
    protected $scheduledMoves   = array();
    protected $scheduledRemoves = array();
    /**#@-*/

यहाँ संदर्भ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.