Închis . Această întrebare trebuie să fie mai concentrată
. În prezent, nu acceptă răspunsuri.
Comentarii
Răspunsul meu se referă la WordPress care este scris în PHP, dar acesta este un mecanic general de dezvoltare, așa că nu ar trebui „Nu contează cu adevărat, în ciuda faptului că ați pus„ python ”în titlul întrebării dvs.
Un bun exemplu de utilizare a cârligelor, întâmplător în dezvoltarea web, sunt WordPress „cârlige .
Acestea sunt denumite în mod corespunzător prin faptul că permit o modalitate de a„ conecta „anumite puncte ale execuției unui program.
Deci pentru de exemplu, wp_head este o „acțiune” care este emisă atunci când o temă WordPress este redată și se află în partea în care redă partea care „s în cadrul etichetelor <head>
. Spuneți că doriți să scrieți un plugin care necesită o foaie de stil suplimentară, un script sau ceva care ar intra în mod normal în acele etichete. Puteți „conecta” la această acțiune definind o funcție care trebuie apelată atunci când această acțiune este emisă. Ceva de genul:
add_action("wp_head", "your_function");
your_function()
ar putea fi ceva la fel de simplu ca:
function your_function() { echo "<link rel="stylesheet" type="text/css" href="lol.css" />"; }
Acum, când WordPress emite această acțiune făcând ceva de genul do_action("wp_head");
, va vedea că your_function()
a fost „conectat la” acțiunea respectivă, așa că va apela acea funcție ( și îi va transmite orice argumente dacă este necesar, așa cum este definit în documentația pentru un anumit cârlig ).
Scurtă poveste: vă permite să adăugați funcționalități suplimentare în anumite puncte ale execuției unui program prin „conectarea” la aceste puncte, în majoritatea cazurilor prin atribuirea unei funcții de apel invers.
În funcție de fundalul persoanei care pune uneori răspunsul la această întrebare poate fi la fel de simplu precum cârligele sunt de obicei un alt cuvânt pentru un gestionar de evenimente, pentru care Blaenk a dat o explicație excelentă.
Există, de asemenea, utilizări ale acestei fraze care sunt atunci când injectați un eveniment o codul r într-un proces care altfel nu are evenimente precum moles de exemplu.
Comentarii