La norme de codage ECG Magento semble être (au moins une sorte) officielle en tant que norme pour les extensions Magento 1:
https://github.com/magento-ecg/coding-standard
Mais je ne comprends pas le raisonnement derrière toutes les règles, et les règles de renifleur de code avec leurs seuls messages n'aident pas beaucoup. Existe-t-il une documentation détaillée sur la norme? Je connais les meilleures pratiques courantes et le guide du développeur, mais je ne trouve rien de spécifique sur ces normes de codage.
Ce qui me dérange le plus, c'est la rigueur de ne pas utiliser les fonctions PHP.
Par exemple: Pourquoi chaque fonction PHP liée au système de fichiers est-elle interdite ?
Je suppose que vous êtes censé utiliser Varien_Io_File
, Varien_File_Object
etc. mais même les développeurs principaux ne connaissent pas toutes les classes Varien et vous trouvez souvent des choses comme dans Mage_ImportExport_Model_Import_Adapter_Csv
:
$this->_fileHandler = fopen($this->_source, 'r');
Ainsi, le noyau n'est pas le meilleur exemple, comme souvent.
Autres fonctions interdites contestables à mon humble avis:
mb_parse_str
parse_str
parse_url
base64_decode
- oui, il est utilisé dans les portes dérobées mais l'interdiction
eval
devrait être suffisante et il existe des cas d'utilisation légitimes, comme le codage de données binaires. Et à partjson_decode
(ce qui n'est pas interdit), aucun assistant de base n'est disponible pour cela.
- oui, il est utilisé dans les portes dérobées mais l'interdiction
Essentiellement, ma question se résume à: Où cette norme est-elle documentée? Et / ou existe-t-il une liste de "choses à utiliser à la place de ces fonctions PHP natives"?
Zend_Db
générateur de requêtes ne devrait-il pas être capable de générer des requêtes SQL?
select
instruction en Zend_Db
utilisant du SQL brut en entrée? J'ai supposé que c'est ce que github.com/kalenjordan/custom-reports fait dans le backend.