Lo standard di codifica ECG Magento sembra essere (almeno un tipo di) ufficiale come standard per le estensioni Magento 1:
https://github.com/magento-ecg/coding-standard
Ma non capisco il ragionamento alla base di tutte le regole e le regole dello sniffer di codice con i loro messaggi da sole non aiutano molto. Esiste una documentazione dettagliata sullo standard? Conosco le migliori pratiche comuni e la guida per gli sviluppatori, ma non riesco a trovare nulla di specifico su questi standard di codifica.
Ciò che mi preoccupa di più è la severità nel non usare le funzioni PHP.
Ad esempio: perché è vietata ogni singola funzione PHP relativa al file system ?
Immagino che dovresti usare Varien_Io_File
, Varien_File_Object
ecc. Ma anche gli sviluppatori principali non sono a conoscenza di tutte le classi Varien e spesso trovi cose come in Mage_ImportExport_Model_Import_Adapter_Csv
:
$this->_fileHandler = fopen($this->_source, 'r');
Quindi, il nucleo non è il miglior esempio, come spesso.
Altre funzioni proibite discutibili di IMHO:
mb_parse_str
parse_str
parse_url
base64_decode
- sì, è usato in backdoor ma il divieto
eval
dovrebbe essere sufficiente e ci sono casi d'uso legittimi, come la codifica dei dati binari. E a partejson_decode
(che non è vietato) non esiste un aiuto di base disponibile per questo.
- sì, è usato in backdoor ma il divieto
In sostanza, la mia domanda si riduce a: dove è documentato questo standard? E / o c'è un elenco di "cose da usare al posto di queste funzioni native di PHP"?
Zend_Db
generatore di query non dovrebbe essere in grado di generare query SQL?
select
un'istruzione Zend_Db
usando SQL non elaborato come input? Ho pensato che fosse quello che fa github.com/kalenjordan/custom-reports nel backend.