มาตรฐานการเข้ารหัส 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_strparse_strparse_urlbase64_decode- ใช่มันถูกใช้ในแบ็คดอร์ แต่การแบน
evalควรเพียงพอและมีกรณีการใช้งานที่ถูกต้องเช่นการเข้ารหัสข้อมูลไบนารี่ และนอกเหนือจากjson_decode(ซึ่งไม่ได้รับอนุญาต) ไม่มีผู้ช่วยหลักสำหรับสิ่งนี้
- ใช่มันถูกใช้ในแบ็คดอร์ แต่การแบน
โดยพื้นฐานแล้วคำถามของฉันยังคงเป็น: มาตรฐานนี้บันทึกไว้ที่ไหน และ / หรือมีรายการ "สิ่งที่จะใช้แทนฟังก์ชัน PHP ดั้งเดิมเหล่านี้" หรือไม่?
Zend_Dbสร้างแบบสอบถามไม่ควรสร้างแบบสอบถาม SQL ได้หรือไม่
selectคำสั่งZend_Dbโดยใช้ raw SQL เป็นอินพุตได้หรือไม่ ฉันคิดว่านั่นคือสิ่งที่github.com/kalenjordan/custom-reportsทำในแบ็กเอนด์