Der Magento-EKG-Kodierungsstandard scheint als Standard für Magento 1-Erweiterungen (zumindest in gewisser Weise) offiziell zu sein:
https://github.com/magento-ecg/coding-standard
Aber ich verstehe nicht, was hinter allen Regeln steckt, und die Code-Sniffer-Regeln mit ihren Nachrichten allein helfen nicht viel. Gibt es eine detaillierte Dokumentation zum Standard? Ich kenne die gängigen Best Practices und das Entwicklerhandbuch , kann jedoch keine spezifischen Informationen zu diesen Codierungsstandards finden.
Was mich am meisten stört, ist die Strenge, keine PHP-Funktionen zu verwenden.
Zum Beispiel: Warum ist jede einzelne dateisystembezogene PHP-Funktion verboten ?
Ich schätze, Sie sollten verwenden Varien_Io_File
, Varien_File_Object
usw., aber selbst die Kernentwickler kennen nicht alle Varien-Klassen, und Sie finden häufig Dinge in Mage_ImportExport_Model_Import_Adapter_Csv
:
$this->_fileHandler = fopen($this->_source, 'r');
Der Kern ist also nicht so oft das beste Beispiel.
Andere meiner Meinung nach fragwürdige verbotene Funktionen:
mb_parse_str
parse_str
parse_url
base64_decode
- Ja, es wird in Backdoors verwendet, aber Banning
eval
sollte ausreichen, und es gibt legitime Anwendungsfälle, wie das Codieren von Binärdaten. Und abgesehen vonjson_decode
(was nicht verboten ist) gibt es dafür keinen Core-Helfer.
- Ja, es wird in Backdoors verwendet, aber Banning
Meine Frage lautet im Wesentlichen: Wo ist diese Norm dokumentiert? Und / oder gibt es eine Liste von "Dingen, die anstelle dieser nativen PHP-Funktionen verwendet werden können"?
Zend_Db
Abfrage-Generator keine SQL-Abfragen generieren können?
select
Anweisung erstellen, Zend_Db
indem Sie Roh-SQL als Eingabe verwenden? Ich nahm an, dass github.com/kalenjordan/custom-reports das im Backend macht.