visszahívási funkció php
1. Nyilatkozat a probléma
Nos, nézzük a következő példát. Három szöveges fájlok, amelyek mindegyike tartalmaz egy konkrét számokat. Itt vannak a fájl tartalma:
speciális osztály, a következő tartalommal előírt olvasni ezeket a fájlokat:
Ez az osztály meglehetősen egyszerű, és csak egyetlen get_numbers () metódust. Ez a módszer érvként tömb $ fájlokat, amely tartalmazza a fájlokat olvasni a neveket. Ellenőrzését követően a rendelkezésre álló adatállományok, mi olvasni őket, és a tartalmát rögzíti a pre-változó $ adatokat, majd az ingatlan $ számokat. Nézzük a böngésző megjeleníti ezt a kódot:

Az osztály látja el feladatát, de mi van, ha azt mondjuk, egy kis időt kell majd egy bizonyos módon, hogy feldolgozza a kapott adatokat a fájlokat. Például, szorozva a számot, vagy adjunk hozzá egy sort, stb Tehát szükség van, hogy átírják a kódot erre a módszerre, mert nem általános, és nem csak egy feladat. Ezért ebben a leckében hozzá sokoldalúságát ebben az osztályban, a visszahívási funkció.
2. osztály korszerűsítése
Az első lépés annak meghatározása, hogy mi a visszahívás funkciót. A visszahívási funkció (callback) - rendelkezik az, hogy bizonyos végrehajtható kódot, mint az egyik paraméter a többi kód. Ez azt jelenti, hogy a visszahívási funkció lehetővé teszi egy bizonyos módszer programfuttatási hogy megadott volna ki. A visszahívási funkció - mint általában a szokásos funkciók, amelyek közvetlenül, vagy ha nem hívják.
Közvetlen függvényhívás: function (). Visszahívás jellemzően átvitelre, mint a paraméter másik funkció. És miközben haladunk egy mutatót (link) a funkcióra. Most megváltoztathatja a módszer kód get_numbers (), az alábbiak szerint:
Az első dolog, amit ki - a második opcionális argumentum $ callback = HAMIS. Ez egy mutató a visszahívás kapcsolatot. Ez alapértelmezés szerint HAMIS. És a második, hozzáadunk ellenőrizze, hogy a változó $ callback egy mutatót a visszahívás funkciót. Tehát meg kell hívni ezt a funkciót. Ehhez ellenőrizze - Lehetséges, hogy hívja a függvénymutatóval tárolja a változó $ visszahívás. Erre a célra is_callable funkció ($ callback), amely úgy érvként a mutató arra a funkcióra. Ez igaz értéket ad vissza, ha a függvény valóban, akkor hívja a végrehajtás.
Hogy hívja a callback függvény használt szabvány: call_user_func ($ callback, $ file, $ data), amely az első paraméter vesz egy mutató arra a funkcióra, és az azt követő - érvekkel kell átadni függvényhívás.
Így feküdt módszert létrehozni - egyfajta egyetemesség. A megfelelő pillanatban, ha kell valahogy befolyásolja az adatokat vissza. Ez elegendő ahhoz, hogy hozzon létre egy visszahívási funkciót, és adja át egy mutatót, mint a paraméter get_numbers () módszer.
3. Készítsen callback függvények
Három fő típusa a visszahívási funkció:
1. A klasszikus funkció - a visszahívási függvény. Hozzunk létre egy funkciót. Ne feledkezzünk meg a paramétereket, amit meg kell venni:
2. Statikus osztály módszer - mint a visszahívási függvény. Hozzunk létre egy osztályt, és adjunk hozzá egy módszert:
3. A szokásos eljárás egy osztály - a visszahívási függvény. Adjuk hozzá ezt a módszert a korábban létrehozott osztály MyClass:
Most, nevezzük get_numbers () metódust, és hogy hogyan kell egy paramétert visszahívási funkció minden típusból. Tehát, mint a szokásos, akkor hívja a módszer a következő:
A változó $ visszahívás tárolja a mutatót a visszahívás funkciót. Ez azt jelenti, hogy minden egyes hívás típusát, akkor elég meghatározni ezt a változót, mielőtt hívja kódot. Most az első típusú visszahívási funkciók:
És ennek megfelelően a képernyőn, azt látjuk, a következő:

A második típus:
Mivel a második típus - ez egy statikus osztály, így a visszahívás a változó $, meg kell menteni a tömb. Az első egy cellában, a leírt osztály, amelyben ez a statikus módszer. A második cella jelzi, hogy a statikus módszer neve. A képernyőn látjuk a következő:

A harmadik típus:
Mivel a második típus - ez a szokásos eljárás, akkor is meg kell adnia az összes változó $ callback mező, amelybe az első cella fenntartani az osztály objektum, ahol a kívánt módszert. És adja meg a nevét, a módszer a második cellában. A képernyőn látjuk a következő:

Mint látható, ha hívja a callback függvények megváltoztatjuk a kereset módszer get_numbers (). És a végén a leckét, szeretnék megmutatni két módon lehet kialakítani callback függvények:
1. létrehozása egy névtelen függvényt, és mentse a mutatót egy változóban:
Ebben az esetben, látni fogjuk a következő képernyő:

2. létrehozása funkciót create_function () függvény (az első paraméter egy karakterlánc átadott paraméterek, a második - vonalfunkcióval kód):
A képernyőn látjuk a következő:

Hogyan látja a használatát ezeket a funkciókat, sokoldalúságot és a rugalmasságot, hogy hozzon létre szkripteket. Ezért bizonyos esetekben nagyon hasznos és fel kell használni.
Ennél a lecke befejeződött. Minden jót és sikeres kódolás.
A legtöbb IT hírek és webfejlesztés A csatorna-távirat