Jawaban yang lain bagus, akurat, terperinci, tapi saya tidak yakin itu adalah "kata-kata sederhana" yang menjelaskan tulang belulang konsep yang dicari si penanya.
Saya menganggap kait sebagai titik di mana kode berhenti dan berteriak, " Ada yang punya sesuatu untuk ditambahkan di sini? ". Modul apa pun dapat memiliki fungsi yang membalas ini, dan dipicu dengan data yang sesuai diteruskan pada saat itu dalam kode.
Contoh langsung yang bagus adalah hook_node_delete () . Setiap modul dapat menggunakannya untuk membuat sesuatu terjadi setiap kali sebuah node dihapus. Dokumen memberi tahu Anda kait ini meneruskan modul objek dari simpul yang dihapus itu untuk dikerjakan, dan menguraikan informasi berguna lainnya seperti tentang waktu yang tepat kapan dipanggil (mis. Bahwa itu sebelum data simpul sebenarnya dihapus dari basis data) , dan di mana dalam kode Drupal kait disebut (yang bisa lebih dari satu tempat).
Anda dapat menjelajahi apa yang ada kait dan mencari tahu data apa yang diteruskan kepada mereka dengan mengeksplorasi hal-hal yang dimulai dengan "hook_" di api Drupal .
Kait bekerja dengan konvensi nama: menggunakan hook_node_delete
sebagai contoh kita, ketika proses penghapusan simpul mencapai titik di mana kait dipanggil, untuk setiap modul dengan fungsi seperti ini di [modulename]_node_delete()
mana kata kait dalam nama kait diganti dengan nama modul (mis. my_amazing_module_node_delete()
), fungsi-fungsi itu dipanggil.
Mengapa? Jadi, modul apa pun dapat melakukan apa saja pada titik-titik utama ini: misalnya Anda dapat melihat simpul yang dihapus dan melakukan sesuatu jika memenuhi syarat tertentu (mis., Kirim email ke administrator, atau luncurkan proses yang panjang).
Beberapa kait memungkinkan Anda mengubah hal-hal yang telah dihasilkan sebelum diproses. Misalnya, hook_menu_alter () memberikan Anda item menu saat ini yang telah dihasilkan oleh sistem. Modul apa saja dapat mendefinisikan fungsi some_modulename_menu_alter () dan melihatnya, secara opsional mengubahnya (hapus beberapa, tambahkan beberapa, sortir ...), dan kembalikan menu yang baru diubah kembali.
Ini sederhana, sangat kuat dan merupakan inti bagaimana Drupal bekerja sebagai sistem modular. Implementasi hook adalah inti dari sebagian besar modul Drupal.
Ketika melihat melalui kode modul Drupal, Anda dapat melihat fungsi mana yang berasal dari kait (sebagai lawan dari fungsi yang hanya dipanggil dari dalam kode modul itu sendiri), karena komunitas Drupal menegakkan konvensi di mana setiap implementasi kait memiliki komentar di depannya seperti ini (perhatikan bit "Implements hook _..."):
/**
* Implements hook_some_hook().
*
* Some descriptive summary of what this does
*/
function my_amazing_module_some_hook() {
Beberapa modul yang bertindak sebagai API menentukan pengait mereka sendiri. Sebagai contoh, Views mendefinisikan banyak kait yang memungkinkan Anda untuk menambah, membaca, dan mengedit data di berbagai titik dalam proses membuat atau menampilkan tampilan. Anda dapat menemukan informasi tentang kait yang dibuat dalam modul khusus dari dua tempat (dengan asumsi modul mengikuti konvensi, dll.):
Bootstrap, seperti yang dijelaskan orang lain, pada dasarnya booting - saya tidak akan menduplikasi penjelasan yang jelas lainnya.