Saya ingin mulai membangun modul saya sebagai kelas sekarang karena malas / auto-load di Drupal 7, dan saya ingin melihat beberapa modul (contrib atau inti) yang melakukan pekerjaan dengan baik.
Apakah ada cara kreatif untuk mengintegrasikan kelas sebagai pengait? Apakah saya menerapkan setiap fitur sebagai plugin ctools?
Setiap pelintas harus mencatat bahwa D7 memiliki files[]
deklarasi baru dalam .info
file modul untuk kelas / antarmuka auto / lazy-loading: Menulis file .info (Drupal 7.x) .
Berikut ini adalah bacaan yang baik untuk mendapatkan motivasi dan konstitusi (seolah-olah) dari komunitas Drupal. Program Drupal dari perspektif berorientasi objek .
Ini pertanyaan yang menarik.
Gagasan modul Drupal sebagai kelas sangat menarik. Namun bahkan dalam modul D7 cukup mengimplementasikan fungsi-fungsi kait yang dicek dengan namanya, jadi bahkan jika Anda membuat kelas untuk modul Anda, Anda masih perlu mengimplementasikan fungsi-fungsi kait untuk menjalankannya.
Namun banyak modul menggunakan kelas secara internal, dan mengekspos fungsionalitas melalui kelas-kelas ini. Contoh yang paling jelas adalah pandangan. Jadi itu mungkin tempat yang bagus untuk mencari. Namun perlu diketahui bahwa banyak modul menggunakan kelas dengan caranya sendiri, jadi apa yang Anda pelajari dari melihat tampilan mungkin tidak selalu berlaku.
sumber
Entity API (modul contrib) memungkinkan Anda untuk mendeklarasikan "kelas entitas" untuk setiap jenis entitas Anda, sehingga semua kode yang terkait dengan entitas Anda (buat, muat, simpan, akses, dll.) Dapat masuk dalam kelas (lihat bagaimana Organik Grup melakukannya, misalnya).
Karena itu, jangan berlebihan. Plugin ctools adalah hal yang baik ketika Anda membutuhkannya (Anda sedang menulis Tampilan, Panel, atau Aturan selanjutnya), tetapi menggunakan kelas di mana-mana hanya untuk kemurnian ideologis tidak akan banyak membantu Anda.
sumber