Standar Coding Magento ECG tampaknya (setidaknya jenis) resmi sebagai standar untuk ekstensi Magento 1:
https://github.com/magento-ecg/coding-standard
Tapi saya tidak mengerti alasan di balik semua aturan, dan aturan sniffer kode dengan pesan mereka saja tidak banyak membantu. Apakah ada dokumentasi terperinci tentang standar? Saya tahu praktik terbaik umum dan panduan pengembang tetapi tidak dapat menemukan sesuatu yang spesifik tentang standar pengkodean ini.
Yang paling mengganggu saya adalah ketatnya tidak menggunakan fungsi PHP.
Sebagai contoh: Mengapa setiap sistem file tunggal terkait fungsi PHP dilarang ?
Saya kira, Anda seharusnya menggunakan Varien_Io_File
, Varien_File_Object
dll. Tetapi bahkan pengembang inti tidak mengetahui semua kelas Varien dan Anda sering menemukan hal-hal seperti di Mage_ImportExport_Model_Import_Adapter_Csv
:
$this->_fileHandler = fopen($this->_source, 'r');
Jadi, intinya bukan contoh terbaik, seperti sering.
Fungsi terlarang IMHO dipertanyakan lainnya:
mb_parse_str
parse_str
parse_url
base64_decode
- ya, itu digunakan di backdoors tetapi larangan
eval
harus cukup dan ada kasus penggunaan yang sah, seperti pengkodean data biner. Dan selainjson_decode
(yang tidak dilarang) tidak ada pembantu inti yang tersedia untuk ini.
- ya, itu digunakan di backdoors tetapi larangan
Pada dasarnya, pertanyaan saya adalah: Di mana standar ini didokumentasikan? Dan / atau adakah daftar "hal-hal yang harus digunakan alih-alih fungsi-fungsi PHP asli ini"?
Zend_Db
pembuat kueri mampu membuat kueri SQL?
select
pernyataan dengan Zend_Db
menggunakan SQL mentah sebagai input? Saya berasumsi itulah yang dilakukan github.com/kalenjordan/custom-reports di backend.