Megjegyzések
- A hook módszer egy absztrakt osztály konkrét módszere, amelyet alosztályok felülírhatnak, de az absztrakt osztályban alapértelmezett módon viselkedik.
Válasz
Válaszom a WordPressre vonatkozik, amelyet PHP-ben írtak, de ez egy általános fejlesztő mechanikus, ezért nem kellene “Nem számít, annak ellenére, hogy a” python “szót beírta a kérdés címébe.
A kampók használatának egyik jó példája, véletlenül a webfejlesztésben: WordPress “horgok .
Megfelelően vannak elnevezve, mivel lehetővé teszik a program végrehajtásának bizonyos pontjaihoz való” bekapcsolódást “.
Tehát Például a wp_head egy “művelet”, amely akkor jelenik meg, amikor egy WordPress-témát megjelenítenek, és abban a részben van, ahol azt a részt adja vissza, amely “s” a <head>
címkéken belül. Tegyük fel, hogy olyan plugint akarsz írni, amelyhez további stíluslapra, szkriptre vagy valamire van szükség, amely általában a címkékbe kerül. Akkor “bekapcsolódhat” ebbe a műveletbe, ha meghatároz egy függvényt, amelyet akkor hívunk, amikor ezt a műveletet kiadja. Valami ilyesmi:
add_action("wp_head", "your_function");
your_function()
lehet valami olyan egyszerű, mint:
function your_function() { echo "<link rel="stylesheet" type="text/css" href="lol.css" />"; }
Most, amikor a WordPress ezt a műveletet a do_action("wp_head");
hasonló módon hajtja végre, akkor látni fogja, hogy your_function()
“belekötött” ebbe a műveletbe, ezért meghívja ezt a függvényt ( és átad neki minden argumentumot, ha van ilyen, amint azt az adott kampó dokumentációja meghatározza ).
Rövid történet: Lehetővé teszi további funkciók hozzáadását a program futtatásának bizonyos pontjaihoz azáltal, hogy “belekapcsolódik” ezekbe a pontokba, a legtöbb esetben függvényhívás hozzárendelésével.
Válasz
Attól függően, hogy a kérdező személy milyen háttérrel rendelkezik, a kérdés néha olyan egyszerű lehet, hogy a kampók általában egy eseménykezelő másik szavai, amire Blaenk kitűnő magyarázatot adott.
Ennek a kifejezésnek vannak olyan felhasználásai is, amelyek akkor jelentik az eseményeket, amikor r kód egy olyan folyamatba, amely egyébként nem tartalmaz eseményeket, például a anyajegyeket.
Megjegyzések
- Köszönöm Bill, a vakondok olyanok, mint egy .NET koncepció, amely teljesen idegen tőlem, kérlek, tudnál rám mutatni valami pythonosra vagy php-re, vagy valami általánosabbra.
- Sajnos nem ' nem használja eléggé ezt a kettőt szakértelem igényléséhez, de ha jól olvasom, úgy gondolom, hogy stackoverflow.com/questions/156230/… hasonló ötletről van szó, de az anyajegyek összekapcsolhatják az összeállított összeállítást. A minikikötő-illesztőprogram egy másik hely, ahol a horog kifejezést néha használják. Az volt a véleményem, hogy a " hook " terminológia néha másképp is használható, a régebbi MS tech-ben egyébként, talán a második felhasználás igen nem vonatkozik a pythonra sem.