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.

  • Nem kell nevezni a visszahívási funkciók nevét (néha sok időt vesz igénybe).
  • 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

    Kapcsolódó cikkek