O Magento ECG Coding Standard parece ser (pelo menos uma espécie de) oficial como padrão para extensões Magento 1:
https://github.com/magento-ecg/coding-standard
Mas eu não entendo o raciocínio por trás de todas as regras, e as regras do sniffer de código apenas com suas mensagens não ajudam muito. Existe alguma documentação detalhada sobre o padrão? Conheço as melhores práticas comuns e o guia do desenvolvedor, mas não consigo encontrar nada específico sobre esses padrões de codificação.
O que mais me incomoda é a rigidez em não usar as funções PHP.
Por exemplo: Por que todas as funções PHP relacionadas ao sistema de arquivos são proibidas ?
Eu acho que você deveria usar Varien_Io_File
, Varien_File_Object
etc. , mas mesmo os desenvolvedores principais não estão cientes de todas as classes Varien e muitas vezes você encontra coisas como Mage_ImportExport_Model_Import_Adapter_Csv
:
$this->_fileHandler = fopen($this->_source, 'r');
Portanto, o núcleo não é o melhor exemplo, com a mesma frequência.
Outras funções proibidas questionáveis do IMHO:
mb_parse_str
parse_str
parse_url
base64_decode
- Sim, é usado em backdoors, mas o banimento
eval
deve ser suficiente e há casos de uso legítimos, como codificação de dados binários. Além dejson_decode
(o que não é proibido), não há um auxiliar básico disponível para isso.
- Sim, é usado em backdoors, mas o banimento
Essencialmente, minha pergunta se resume a: Onde esse padrão está documentado? E / ou existe uma lista de "coisas a serem usadas em vez dessas funções nativas do PHP"?
Zend_Db
construtor de consultas não deveria ser capaz de gerar consultas SQL?
select
declaração Zend_Db
usando o SQL bruto como entrada? Supus que é isso que o github.com/kalenjordan/custom-reports faz no back-end.