Komentáře
- Metoda hook je konkrétní metoda v abstraktní třídě, kterou lze přepsat podtřídami, ale v abstraktní třídě má výchozí chování.
Odpověď
Moje odpověď se týká WordPress, který je napsán v PHP, ale toto je obecný vývojový mechanismus, takže by neměl „Na tom opravdu nezáleží, přestože do názvu otázky vložíte výraz„ python “.
Dobrým příkladem použití háčků, shodou okolností ve vývoji webu, je WordPress „háčky .
Jsou pojmenovány vhodně tak, že umožňují způsob„ zavěšení “na určité body provádění programu.
Takže pro například wp_head je „akce“, která se vydává při vykreslování motivu WordPress a je v části, kde vykresluje část, která je ve značkách <head>
. Řekněme, že chcete napsat plugin, který vyžaduje další šablonu stylů, skript nebo něco, co by normálně obsahovalo tyto značky. Tuto akci můžete „zavěsit“ definováním funkce, která má být vyvolána, když je tato akce emitována. Něco jako:
add_action("wp_head", "your_function");
your_function()
může být něco tak jednoduchého jako:
function your_function() { echo "<link rel="stylesheet" type="text/css" href="lol.css" />"; }
Nyní, když WordPress vydá tuto akci provedením něco jako do_action("wp_head");
, uvidíte, že your_function()
byl „závislý na“ této akci, takže tuto funkci zavolá ( a předá jí jakékoli argumenty, pokud to trvá, jak je definováno v dokumentaci pro konkrétní háček ).
Stručný příběh: Umožňuje vám přidat další funkce v konkrétních bodech provádění programu „zaháknutím“ do těchto bodů, ve většině případů přiřazením zpětného volání funkce.
Odpověď
V závislosti na pozadí osoby, která se ptá, může být odpověď na tuto otázku někdy tak jednoduchá, že háčky jsou obvykle jiné slovo pro obsluhu události, pro které Blaenk výborně vysvětlil.
Existují také použití této fráze, která jsou, když vložíte událost o r kód do procesu, který jinak nemá události jako mol například.
Komentáře
- Díky Bille, krtci vypadají jako koncept .NET, který je mi naprosto cizí, mohl byste mi prosím ukázat něco pythonického nebo php nebo něco obecnějšího.
- Bohužel ne ' ty dva dostatečně nepoužívám, abych získal odborné znalosti, ale pokud je čtu správně, domnívám se stackoverflow.com/questions/156230/… je podobný nápad, o kterém se diskutuje, ale krtci mohou připojit sestavenou sestavu. Ovladač miniportu je dalším místem, kde se někdy používá háková fráze. Chtěl jsem říci, že " hák " terminologie může být někdy použit i jiným způsobem, ve starších technologiích MS možná stejně funguje druhé použití neplatí také pro python.