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:

visszahívási funkció php

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ő:

visszahívási funkció php

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ő:

visszahívási funkció php

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ő:

visszahívási funkció php

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ő:

visszahívási funkció php

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ő:

visszahívási funkció php

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

Kapcsolódó cikkek