Anonymous php funkciók wordpress horgokban
Az anonim PHP függvények, más néven záróként vagy lambda funkcióknak köszönhetően olyan funkciókat hozhat létre, amelyek nem rendelkeznek egyedi nevekkel. A WP-ben a leghasznosabb a visszahívási funkciók értéke a horgokban (szűrők és események). Az 5.3-as verzió óta megjelenik a PHP-ben, kissé módosítva az 5.4-ben.
Először nézzük meg, hogy a hurok hogyan néz ki a szokásos funkcióval és zárással:
Az első módszer egyik előnye: mivel a függvénynek van neve, a hookot szükség esetén eltávolíthatjuk a remove_filter () vagy remove_action () függvény segítségével. Ez az, aki használni fogja a kódot. Ezért az anonim funkciók ritka vendégei a plug-inek és témákban. De ha a horog egy bezárás révén jön létre, akkor nem törölheti.
A névtelen funkciók előnyei a WP-ben
Rövid szintaxis (sokkal könnyebb írni).
A tisztább globális névtér nem kell aggódnia a funkcionális nevek konfliktusai miatt.
A névtelen funkciók hátrányai a WP-ben
Nem törölheti az anonim funkciók alapján létrehozott horogot.
Lehetséges, hogy ugyanazt a funkciót több kampóban is használhatod - mindegyikhez külön névtelen funkciót kell írni. például:
Ez a hátrány azonban kétértelmű, hiszen a PHP-ben (az 5.3-as verziótól), mint a JS névtelen funkció, egy változóba helyezhető, majd a horgok horogfüggvényében változót használhat:
De ez a megközelítés logikus, nagyon, nagyon ritka, szinte soha. Alkalmazható például egy külön sablon témafájlban, amikor a szkript már befejezi munkáját, és nyilvánvaló, hogy ezek a horgok nem zavarják más kódokat. Vagy ha csak néhány ritka állapotban dolgoznak - a logikai kód külön ágában. Általában nem emlékszem, amikor szükségem volt rá.
névtelen funkciók használata
A lambda függvények egy másik jellemzője a változók felhasználása az aktuális hatókörből, a használati utasítás használatával:
A változók értékként kerülnek átadásra, de át lehet adni egy hivatkozást a változóra, megadva :
Mikor használhatom névtelen funkciókat a WordPress alkalmazásban?
Ha a kódot nem általános használatra szánják.
A visszahívási funkció törlésére nincs szükség, és erre nincs szükség.
Nem szükséges támogatás az 5.3 alatti PHP verziókhoz.
Most, egy kicsit megértettem, hogy mit tudsz válaszolni a kérdésre: "Miért nem a WP anonim funkciókat használ?" - Mivel a WP kódnak a lehető legrugalmasabbnak kell lennie, és a bezárások csak nem jelentik azt.
Kreatív webhelyek kreatív webhelyek számára