Apa arti string "# @ +" & "# @ -" di komentar?


15

Saya melihat banyak string "# @ +" & "# @ -" di komentar beberapa kelas 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';
    /**#@-*/
    ...
}

Apa tujuan dari spidol ini?

Jawaban:


14

Karakter-karakter tersebut digunakan untuk mendeklarasikan templat PHPDoc DocBlock :

Tujuan dari template DocBlock adalah untuk mengurangi pengetikan yang berlebihan. Sebagai contoh, jika sejumlah besar variabel kelas bersifat pribadi, orang akan menggunakan templat DocBlock untuk menandainya sebagai pribadi. Templat DocBlock cukup menambah semua DocBlock normal yang ditemukan di blok templat.

Templat DocBlock dibedakan dari DocBlock normal dengan tajuknya.

/**#@+
 *
 */

Teks yang menandai ini sebagai templat DocBlock adalah "/ ** # @ +" - semua 6 karakter harus ada. Templat DocBlock diterapkan ke semua elemen yang dapat didokumentasikan sampai penanda templat yang berakhir:

/**#@-*/

Perhatikan bahwa semua 8 karakter harus muncul sebagai "/ ** # @ - * /" agar phpDocumentor mengenalinya sebagai templat.

Informasi lebih lanjut dapat ditemukan di sini: http://codingexplained.com/coding/php/how-to-use-docblock-templates-in-phpdoc

Beberapa penjelasan juga tersedia di dokumentasi resmi Magento: http://devdocs.magento.com/guides/v2.0/coding-standards/docblock-standard-general.html


6

Jika ada deklarasi beberapa elemen berurutan dengan tipe yang sama, konten DocBlock yang sama mungkin relevan untuk semuanya. Dalam hal ini, DocBlocks individual untuk elemen-elemen tersebut, mereka dapat digantikan oleh templat DocBlock.

Templat DocBlock terdiri dari dua komentar DocBlock:

Memulai komentar adalah sebelum elemen pertama grup, dibedakan menggunakan # @ + dan diformat sebagai berikut:

/**#@+
 *
 */

Mengakhiri komentar setelah elemen terakhir grup, dibedakan menggunakan # @ - dan diformat sebagai berikut:/**#@-*/

Misalnya, deklarasi beberapa konstanta atau atribut kelas:

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();
    /**#@-*/

Referensi di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.