Stengt . Dette spørsmålet må være mer fokusert . Det aksepteres for øyeblikket ikke svar.

Kommentarer

  • En krokmetode er en konkret metode i en abstrakt klasse som kan overstyres av underklasser, men den har en standard atferd i abstraktklassen.

Svar

Svaret mitt gjelder WordPress som er skrevet i PHP, men dette er en generell utviklingsmekaniker så det burde ikke «t betyr noe, til tross for at du setter» python «i tittelen på spørsmålet ditt.

Et godt eksempel på bruk av kroker, tilfeldigvis i webutvikling, er WordPress «kroker .

De blir navngitt riktig slik at de tillater en måte å» koble seg til «bestemte punkter i gjennomføringen av et program.

Så for eksempel, wp_head er en «handling» som sendes ut når et WordPress-tema blir gjengitt, og det er på den delen der det gjengir delen som er innenfor <head> kodene. Si at du vil skrive et plugin som krever et ekstra stilark, skript eller noe som normalt vil være innenfor disse kodene. Du kan «koble deg til» denne handlingen ved å definere en funksjon som skal kalles når denne handlingen sendes ut. Noe som:

add_action("wp_head", "your_function"); 

your_function() kan være noe så enkelt som:

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

Nå, når WordPress avgir denne handlingen ved å gjøre noe sånt som do_action("wp_head");, vil det se at your_function() var «hekta i» den handlingen, så den vil kalle den funksjonen ( og sende den eventuelle argumenter hvis den tar noen, som definert i dokumentasjonen for en bestemt krok ).

Kort historie: Den lar deg legge til ekstra funksjonalitet på bestemte punkter for utførelsen av et program ved å «koble til» disse punktene, i de fleste tilfeller ved å tilordne en tilbakeringing av funksjonen.

Svar

Avhengig av bakgrunnen til personen som noen ganger spør, kan svaret på dette spørsmålet være så enkelt som kroker vanligvis er et annet ord for en hendelsesbehandler, som Blaenk ga en utmerket forklaring på.

Det er også bruk av denne setningen når du injiserer en hendelse o koden til en prosess som ellers ikke har hendelser som føflekker for eksempel.

Kommentarer

  • Takk Bill, føflekker ser ut som et .NET-konsept, som er helt fremmed for meg, kan du være så snill å peke meg på noe pythonisk eller php eller noe mer generelt.
  • Dessverre har jeg ikke ' Ikke bruk disse to nok til å kreve ekspertise, men hvis jeg leser det riktig, tror jeg stackoverflow.com/questions/156230/… er en lignende idé som diskuteres, men føflekker kan hekte en samlet samling. En miniportdriver er et annet sted krokfrasen brukes noen ganger. Poenget mitt var mer at " kroken " terminologien kan brukes på en annen måte noen ganger, i eldre MS-teknologi uansett, kanskje den andre bruken gjør gjelder ikke python også.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *