Неправильный синтаксис Magento 1 PHPDoc?
-
13-12-2019 - |
Вопрос
Я заметил следующие объявления PHPDoc в стиле style в основном коде Magento, которые впоследствии были скопированы в Magento extensions:
/** @var $varName Mage_Core_Model_Example */
Разве это не должно следовать за @var [type] [$optionalName] [Optional comment]
концепция что использует PHPDoc?Напр.:
/** @var Mage_Core_Model_Example $optionalVarNameOrComment Optional comment here */
Или, проще говоря, на практике:
/** @var Mage_Core_Model_Example */
$example = Mage::getModel('core/example');
Редактировать: возможно, это просто несогласованность в их команде разработчиков...Я нашел пример того, что я бы счел правильным @var
заблокировать при просмотре изменений EE 1.14.2:
# app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php - 1531:
/** @var Mage_Sales_Model_Order $oldOrder */
Решение
Вы не получите удовлетворительного ответа, если где-либо не будут опубликованы правила кодирования Magento 1.
Однако Magento 1 следует за Стандарт кодирования Zend, который , в свою очередь ссылки на PHPDoc.Так что теоретически ваше наблюдение верно.
На практике любые правила, касающиеся PHPDoc, возможно, были не слишком строгими и не навязывались автоматической проверкой.В результате разработчики делали то, что работало в зависимости от их IDE.PhpStorm поддерживает оба варианта.Netbeans и Eclipse – одно и другое - t.b.c.
Для Magento 2 существуют опубликованные стандарты, которые явно допускают оба формата.