Magento ECG编码标准似乎(至少是某种形式)是Magento 1扩展的标准:
https://github.com/magento-ecg/coding-standard
但是我不理解所有规则背后的原因,仅代码嗅探器规则和它们的消息并没有多大帮助。是否有关于该标准的详细文档?我知道常见的最佳做法和开发人员指南,但找不到有关这些编码标准的任何具体信息。
最让我困扰的是不使用PHP函数的严格性。
例如:为什么每个与文件系统相关的PHP函数都被禁止?
我想,你应该使用Varien_Io_File
,Varien_File_Object
等等。但即使是核心开发人员不知道所有的瓦瑞恩类的,你经常会发现类似的事情在Mage_ImportExport_Model_Import_Adapter_Csv
:
$this->_fileHandler = fopen($this->_source, 'r');
因此,核心并非经常是最好的例子。
其他恕我直言的可疑禁用功能:
mb_parse_str
parse_str
parse_url
base64_decode
- 是的,它用在后门中,但是禁止
eval
应该足够了,并且有合法的用例,例如编码二进制数据。除了json_decode
(这是禁止的)以外,没有可用的核心帮助程序。
- 是的,它用在后门中,但是禁止
来源:https : //github.com/magento-ecg/coding-standard/blob/master/Sniffs/Security/ForbiddenFunctionSniff.php
本质上,我的问题可以归结为:该标准记录在哪里?和/或是否存在“代替这些本机PHP函数使用的东西”的列表?
Zend_Db
查询生成器不应该能够生成任何SQL查询吗?