2
为什么Magento ECG编码标准中不允许这么多的PHP函数?
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函数使用的东西”的列表?