El estándar de codificación de ECG de Magento parece ser (al menos un poco) oficial como estándar para las extensiones de Magento 1:
https://github.com/magento-ecg/coding-standard
Pero no entiendo el razonamiento detrás de todas las reglas, y las reglas de sniffer de código solo con sus mensajes no ayudan mucho. ¿Existe alguna documentación detallada sobre el estándar? Conozco las mejores prácticas comunes y la guía para desarrolladores, pero no puedo encontrar nada específico sobre estos estándares de codificación.
Lo que más me preocupa es la rigurosidad de no usar las funciones de PHP.
Por ejemplo: ¿Por qué está prohibido cada función PHP relacionada con el sistema de archivos ?
Supongo que se supone que debes usar Varien_Io_File
, Varien_File_Object
etc. , pero incluso los desarrolladores principales no conocen todas las clases de Varien y a menudo encuentras cosas como en Mage_ImportExport_Model_Import_Adapter_Csv
:
$this->_fileHandler = fopen($this->_source, 'r');
Entonces, el núcleo no es el mejor ejemplo, tan a menudo.
Otras funciones prohibidas cuestionables de mi humilde opinión:
mb_parse_str
parse_str
parse_url
base64_decode
- Sí, se usa en puertas traseras, pero la prohibición
eval
debería ser suficiente y hay casos de uso legítimos, como la codificación de datos binarios. Y aparte dejson_decode
(que no está prohibido) no hay un núcleo de ayuda disponible para esto.
- Sí, se usa en puertas traseras, pero la prohibición
Esencialmente, mi pregunta se reduce a: ¿Dónde está documentado este estándar? ¿Y / o hay una lista de "cosas para usar en lugar de estas funciones PHP nativas"?
Zend_Db
ser capaz el generador de consultas de generar consultas SQL?
select
declaración Zend_Db
usando SQL sin procesar como entrada? Supuse que eso es lo que hace github.com/kalenjordan/custom-reports en el backend.