Những gì # # + + & # # - Những chuỗi có ý nghĩa gì trong các ý kiến?


15

Tôi thấy rất nhiều chuỗi "# @ +" & "# @ -" trong các nhận xét của một số lớp 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';
    /**#@-*/
    ...
}

Mục đích của những dấu hiệu này là gì?

Câu trả lời:


14

Các ký tự này được sử dụng để khai báo mẫu PHPBoc DocBlock :

Mục đích của mẫu DocBlock là giảm việc gõ thừa. Ví dụ, nếu một số lượng lớn các biến lớp là riêng tư, thì người ta sẽ sử dụng mẫu DocBlock để đánh dấu chúng là riêng tư. Các mẫu DocBlock chỉ đơn giản là tăng bất kỳ DocBlocks bình thường nào được tìm thấy trong khối mẫu.

Mẫu DocBlock được phân biệt với một DocBlock bình thường bằng tiêu đề của nó.

/**#@+
 *
 */

Văn bản đánh dấu mẫu này là mẫu DocBlock là "/ ** # @ +" - phải có tất cả 6 ký tự. Các mẫu DocBlock được áp dụng cho tất cả các yếu tố có thể ghi lại cho đến khi điểm đánh dấu mẫu kết thúc:

/**#@-*/

Lưu ý rằng tất cả 8 ký tự phải xuất hiện dưới dạng "/ ** # @ - * /" để phpDocumentor nhận ra chúng dưới dạng mẫu.

Thông tin chi tiết có thể được tìm thấy ở đây: http://codingexplained.com/coding/php/how-to-use-docblock-temsheet-in-phpdoc

Một số giải thích cũng có sẵn trên tài liệu chính thức của Magento: http://devdocs.magento.com/guides/v2.0/coding-stiterias/docblock-st Chuẩn-generic.html


6

Nếu có tuyên bố về nhiều yếu tố liên tiếp cùng loại, cùng một nội dung của DocBlock có thể liên quan đến tất cả chúng. Trong trường hợp này, các DocBlocks riêng lẻ cho các phần tử đó, chúng có thể được thay thế bằng mẫu DocBlock.

Mẫu DocBlock bao gồm hai nhận xét về DocBlock:

Nhận xét bắt đầu là trước phần tử đầu tiên của nhóm, được phân biệt bằng cách sử dụng # @ + và được định dạng như sau:

/**#@+
 *
 */

Kết thúc nhận xét là sau phần tử cuối cùng của nhóm, được phân biệt bằng cách sử dụng # @ - và được định dạng như sau:/**#@-*/

Ví dụ: khai báo nhiều hằng hoặc lớp thuộc tính:

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

Tham khảo tại đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.