2
ทำไมฟังก์ชั่น PHP มากมายจึงไม่อนุญาตใน Magento ECG Coding Standard?
มาตรฐานการเข้ารหัส ECG ของ Magento ดูเหมือนจะเป็นทางการ (อย่างน้อยก็) เป็นมาตรฐานสำหรับ Magento 1 ส่วนขยาย: https://github.com/magento-ecg/coding-standard แต่ฉันไม่เข้าใจเหตุผลที่อยู่เบื้องหลังกฎทั้งหมดและการดมกลิ่นรหัสด้วยข้อความของพวกเขาเพียงอย่างเดียวไม่ได้ช่วยอะไรมาก มีเอกสารรายละเอียดเกี่ยวกับมาตรฐานหรือไม่ ฉันรู้วิธีปฏิบัติที่ดีที่สุดทั่วไปและคู่มือนักพัฒนาแต่ไม่พบสิ่งใดที่เฉพาะเจาะจงเกี่ยวกับมาตรฐานการเข้ารหัส สิ่งที่ฉันกังวลมากที่สุดคือความเข้มงวดในการไม่ใช้ฟังก์ชั่น PHP ตัวอย่างเช่น: ทำไมทุกระบบไฟล์ที่เกี่ยวข้องกับฟังก์ชั่น PHP ต้องห้าม ? ผมคิดว่าคุณควรจะใช้Varien_Io_File, Varien_File_Objectฯลฯ แต่แม้นักพัฒนาหลักไม่ได้ตระหนักถึงทุกชั้นเรียน Varien และคุณมักจะพบสิ่งที่ต้องการในMage_ImportExport_Model_Import_Adapter_Csv: $this->_fileHandler = fopen($this->_source, 'r'); ดังนั้นแกนกลางไม่ใช่ตัวอย่างที่ดีที่สุดเช่นเคย ฟังก์ชันที่ต้องห้าม IMHO อื่น ๆ ที่น่าสงสัย: 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 โดยพื้นฐานแล้วคำถามของฉันยังคงเป็น: มาตรฐานนี้บันทึกไว้ที่ไหน และ / …