¿Sintaxis PHPDoc de Magento 1 incorrecta?
-
13-12-2019 - |
Pregunta
Noté las siguientes declaraciones PHPDoc de estilo en el código central de Magento y posteriormente las copié en las extensiones de Magento:
/** @var $varName Mage_Core_Model_Example */
¿No debería seguir el @var [type] [$optionalName] [Optional comment]
concepto que usa PHPDoc?P.ej:
/** @var Mage_Core_Model_Example $optionalVarNameOrComment Optional comment here */
O más simplemente en la práctica:
/** @var Mage_Core_Model_Example */
$example = Mage::getModel('core/example');
Editar: tal vez sea simplemente una inconsistencia entre su equipo de desarrollo...Encontré un ejemplo de lo que yo consideraría una correcta @var
bloque mientras revisa los cambios de EE 1.14.2:
# app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php - 1531:
/** @var Mage_Sales_Model_Order $oldOrder */
Solución
No obtendrá una respuesta satisfactoria a menos que haya regulaciones de codificación Magento 1 publicadas en algún lugar.
Sin embargo, Magento 1 sigue el Estándar de codificación Zend, que a su vez referencias a PHPDoc.Entonces, en teoría, tu observación es correcta.
En la práctica, es posible que las regulaciones relativas a PHPDoc no hayan sido demasiado estrictas ni forzadas por la validación automática.En consecuencia, los desarrolladores hicieron lo que funcionó dependiendo de su IDE.PHPStorm admite ambas variaciones.Netbeans y Eclipse uno y otro – t.b.c.
Para Magento 2 hay estándares publicados que permiten explícitamente ambos formatos.