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