Átláthatóbb WordPress hibakeresés Acornnal: Symfony, Ignition vagy Whoops
WordPress fejlesztés közben a WP_DEBUG az egyik legolcsóbb és leghasznosabb biztosíték: gyorsan előhozza a notice-okat, warningokat és fatál hibákat. A gond csak az, hogy a WordPress alapértelmezett hibamegjelenítése (amikor WP_DEBUG és a képernyőre írás is engedélyezett) elég fapados: a hibaüzenetek egyszerűen ráégnek az oldal tetejére, kontextus nélkül, nehezen olvashatóan.
Ha Roots-alapú stackben dolgozol (Bedrock + Acorn), akkor jó eséllyel már eleve modernebb fejlesztői élményre építesz. Az Acorn ugyanis képes jelentősen kulturáltabb error page-et adni WordPress alatt is, és ezzel a hibakeresés tempója konkrétan érezhetően javul.
Miért „kevés” a natív WP_DEBUG kimenet?
A WP_DEBUG lényege, hogy fejlesztéskor ne maradjanak rejtve a problémák. Ez különösen fontos, mert a WordPress ökoszisztémában rengeteg bővítmény és sablon szór notice-okat vagy hibákat, amik később (például PHP verzióváltásnál) komoly gondot okozhatnak.
A natív megjelenítés viszont jellemzően:
- széteső formázással jelenik meg az oldal tetején
- nem ad szép stack trace-t (vagy ha ad is, nehezen áttekinthető)
- nem segít gyorsan megtalálni, melyik fájl/sor/függvényhívás az igazi ok

Mit csinál másképp az Acorn?
Az Acorn egy olyan projekt, ami WordPress-ben hoz be Laravel-közeli komponenseket és fejlesztői kényelmet. Hibakezelésnél az a nagy nyereség, hogy amikor a WP_DEBUG és a képernyőre történő megjelenítés is aktív, akkor az Acorn egy jóval olvashatóbb exception oldalt ad a nyers WordPress-kiírás helyett.
Mikor lép életbe?
A forrás alapján az Acorn akkor javítja a hibakimenetet, ha WP_DEBUG és WP_DEBUG_DISPLAY is engedélyezve van. (Utóbbi a képernyőre írást szabályozza.)
Alapértelmezett Acorn hibakimenet: Symfony exception handler
Acornból alapból a Symfony exception handler érkezik. Ez már önmagában nagy ugrás: áttekinthetőbb a kivétel (exception) megjelenítése, könnyebb a stack trace-t böngészni, gyorsabban találsz vissza a hibás sorhoz.

Ignition: Laravel-szintű hibakezelés WordPress-ben is
Ha Laravelből jössz, az Ignition nagy eséllyel ismerős: a Laravel 9 óta ez az alapértelmezett hibapanel. Az Acorn v3 egyik fontos változása, hogy már támogatja a Laravel routingot (routing = útvonalkezelés), és ezzel együtt WordPress-es Acorn projektekben is használhatóvá vált az Ignition.
Gyakorlatban ez a legkomfortosabb hibakeresési élmény: modern, jól tagolt error page, könnyen olvasható stack trace, és kifejezetten fejlesztőbarát tálalás.

Ignition telepítése Composerrel
A telepítés a forrás alapján egy dev függőség felvétele. Arra figyelj, hogy ugyanabban a könyvtárban futtasd, ahol az Acorn is telepítve van (tipikusan a projekt gyökere, ahol a composer.json található).
composer require spatie/laravel-ignition --devWhoops: régebbi Acorn verziókhoz bevált opció
Az Acorn v3 előtt gyakori javaslat volt a whoops használata az Acorn mellé. Ha még Acorn v2-n vagy, a forrás alapján továbbra is van értelme: a Symfony-s oldalhoz képest jobb fejlesztői élményt adhat.

Verziók és döntés
A forrás javaslata: ha Acorn v2-t használsz, érdemes Acorn v3-ra frissíteni. Whoops inkább azoknak lehet kapaszkodó, akik még nem tudnak váltani.
Mi van, ha nem használsz Acornt? (Bővítményes alternatívák)
Nem minden projekt Bedrock + Acorn alapú, és ez rendben van. Ha csak a WP_DEBUG kimenetet szeretnéd értelmezhetőbbé tenni, akkor a klasszikus WordPress-es út a fejlesztői bővítmények világa.
- Query Monitor – gyakorlatilag kötelező darab lokális WordPress környezetben
- Debug Bar – egyszerűbb, de sok esetben már ez is nagy segítség
Gyakorlati javaslat: hogyan állj neki egy modern debug setupnak?
- Lokálban mindig legyen bekapcsolva a
WP_DEBUG(és csak ott). - Ha Bedrocköt használsz, nézd meg az environment alapú beállításokat: fejlesztői környezetben jellemzően alapból aktív a debug.
- Acorn esetén hagyatkozhatsz az alap Symfony handlerre, de ha komolyan fejlesztesz és sokat hibakeresel, az Ignition kényelmi ugrás.
- Ha nem Acornos a projekt, telepíts Query Monitort, és használd napi szinten.
Összefoglaló
A WP_DEBUG bekapcsolása továbbra is a WordPress fejlesztés egyik alapja, de a natív hibakiírás könnyen átláthatatlanná válik. Acorn alatt rögtön kapsz egy kulturáltabb exception oldalt (Symfony), és Acorn v3-mal már Ignitiont is használhatsz, ami sokaknak a legjobb fejlesztői élmény. Ha pedig Acorn nélkül dolgozol, a Query Monitor és a Debug Bar jó, bevált alternatívák.
Hannah Turing
WordPress fejlesztő és technikai író a HelloWP-nél. Modern eszközökkel, mint a Laravel, Tailwind CSS és a WordPress ökoszisztéma, segítek fejlesztőknek jobb weboldalakat építeni. Szenvedélyem a tiszta kód és a fejlesztői élmény.
Összes bejegyzés