Magento 1 syntax phpdoc errato?
-
13-12-2019 - |
Domanda
Ho notato le seguenti dichiarazioni di phpdoc in stile nel codice del core magento e successivamente copiate nelle estensioni magentali:
/** @var $varName Mage_Core_Model_Example */
.
Non dovrebbe seguire il @var [type] [$optionalName] [Optional comment]
Concept PHPDOC usi?Ad esempio:
/** @var Mage_Core_Model_Example $optionalVarNameOrComment Optional comment here */
.
o più semplicemente in pratica:
/** @var Mage_Core_Model_Example */
$example = Mage::getModel('core/example');
.
.
Modifica: Forse è solo incoerenza tra il loro team di sviluppo ... Ho trovato un esempio di ciò che considererei un blocco di generazione di @var
corretto durante la revisione delle modifiche EE 1.14.2:
# app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php - 1531:
/** @var Mage_Sales_Model_Order $oldOrder */
. Soluzione
Non avrai una risposta soddisfacente a meno che non ci siano regolamenti di codifica magenta 1 pubblicati da qualche parte.
Tuttavia, Magento 1 segue il Zend Coding Standard , quale a turno Riferimenti a phpdoc . Quindi in teoria, la tua osservazione è corretta.
In pratica, qualsiasi regolamento verso PHPDOC potrebbe non essere stato troppo rigoroso, non forzato dalla convalida automatica. Di conseguenza, gli sviluppatori hanno fatto ciò che ha funzionato a seconda del loro IDE. Phpstorm supporta entrambe le variazioni. Netbeans ed Eclipse l'uno e l'altro - t.b.c.
Per Magento 2 Ci sono Standard pubblicati che consentono esplicitamente entrambi i formati .