Apa itu kait? [Tutup]

15

Saya terus menemukan kait istilah ini di berbagai artikel pemrograman. Namun saya tidak mengerti apa itu, dan bagaimana mereka bisa digunakan. Jadi saya hanya ingin tahu apa konsep kait; jika seseorang dapat menghubungkan saya dengan beberapa contoh, khususnya dalam konteks pengembangan web, itu akan bagus

Rasmus
sumber
Metode hook adalah metode konkret di kelas abstrak yang dapat diganti oleh subclass, tetapi memiliki perilaku default di kelas abstrak.
Gal007

Jawaban:

18

Jawaban saya berkaitan dengan WordPress yang ditulis dalam PHP, tetapi ini adalah mekanika pengembangan umum sehingga seharusnya tidak terlalu penting, terlepas dari kenyataan bahwa Anda memasukkan 'python' dalam judul pertanyaan Anda.

Salah satu contoh bagus penggunaan kait, secara kebetulan dalam pengembangan web, adalah kait WordPress .

Mereka diberi nama dengan tepat karena mereka memungkinkan cara untuk 'menghubungkan ke' poin-poin tertentu dari pelaksanaan suatu program.

Jadi misalnya, wp_head adalah 'tindakan' yang dipancarkan ketika tema WordPress sedang dirender dan itu pada bagian di mana ia membuat bagian yang ada di dalam <head>tag. Katakan bahwa Anda ingin menulis sebuah plugin yang memerlukan stylesheet, skrip, atau sesuatu yang biasanya masuk dalam tag tersebut. Anda dapat 'menghubungkan ke' tindakan ini dengan mendefinisikan fungsi yang akan dipanggil saat tindakan ini dipancarkan. Sesuatu seperti:

add_action('wp_head', 'your_function');

your_function() bisa menjadi sesuatu yang sederhana seperti:

function your_function() {
    echo '<link rel="stylesheet" type="text/css" href="lol.css" />';
}

Sekarang, ketika WordPress memancarkan aksi ini dengan melakukan sesuatu seperti do_action('wp_head');, itu akan melihat bahwa your_function()itu 'ke doyan' bahwa tindakan, sehingga akan memanggil fungsi yang ( dan lulus argumen apapun jika dibutuhkan setiap, sebagaimana didefinisikan dalam dokumentasi untuk setiap kait tertentu ).

Singkat cerita: Ini memungkinkan Anda untuk menambahkan fungsionalitas tambahan pada titik-titik tertentu dari pelaksanaan suatu program dengan 'menghubungkan ke' titik-titik itu, dalam banyak kasus dengan menetapkan fungsi panggilan balik.

Jorge Israel Peña
sumber
2

Bergantung pada latar belakang orang yang bertanya kadang-kadang jawaban untuk pertanyaan ini bisa sesederhana kait biasanya kata lain untuk pengendali acara, yang Blaenk berikan penjelasan yang bagus untuknya.

Ada juga kegunaan kalimat ini yaitu ketika Anda menyuntikkan peristiwa atau kode ke dalam proses yang sebaliknya tidak memiliki acara seperti mol misalnya.

Tagihan
sumber
Terima kasih Bill, tahi lalat tampak seperti konsep .NET, yang benar-benar asing bagi saya, dapatkah Anda mengarahkan saya ke sesuatu yang pythonic atau php atau sesuatu yang lebih umum.
Rasmus
Sayangnya saya tidak menggunakan keduanya cukup untuk mengklaim keahlian, tetapi jika saya membacanya dengan benar saya percaya stackoverflow.com/questions/156230/... adalah ide yang sama yang sedang dibahas tetapi tikus tanah dapat mengaitkan perakitan yang dikompilasi. Driver miniport adalah tempat lain yang sering digunakan frase kait. Maksud saya lebih bahwa terminologi "hook" dapat digunakan dengan cara lain kadang-kadang, dalam teknologi MS yang lebih tua pula, mungkin penggunaan kedua tidak berlaku untuk python juga.
Bill