Kaks PHP funktsiooni, mida minu arvates "silumisel" sageli üle kasutatakse, on echo ja var_dump kasutamine. Olen sellest rääkinud mõnes erinevas silumist käsitlevas artiklis (näiteks siin ja siin ).
Ja kuigi ma olen siluri kasutamise fänn, arvan, et on oluline rakendada ka teatud tüüpi logisüsteemi, et teie või teie klient saaksid tagasi minna ja vaadata üle süsteemis toimuvad tegevused, nagu nad või nende kasutajad seda teevad. tead, kasutanud seda.
Selle tegemiseks on aga kaks aspekti, eriti kui soovite jälgida PSR-i logimise liidest ja need on järgmised:
- tegeliku logiliidese reeglid,
- projekt, mis rakendab nimetatud logiliidese õigesti.
Miks mitte käsitleda mõlemat selles postituses?
PSR logimisliides
PSR- i logimisliides (või PSR-3) hõlmab mitmeid asju, millest saate üksikasjalikumalt lugeda tegelikul lehel.
Need sisaldavad:
- Põhitõed
- Sõnumid
- Kontekst
- Abistamisklassid
- Paketid
- Liidesed
- Logi tasemed
- Ja veel.
Kuid selle artikli jaoks tahan ma rääkida konkreetselt liidesest endast, seda rakendavast projektist ja selle tähtsusest.
Logimise liides
Dokumentatsiooni kodulehel on kirjas:
See dokument kirjeldab ühist liidest teekide logimiseks.
Peamine eesmärk on võimaldada raamatukogudel vastu võtta PsrLogLoggerInterface objekti ja kirjutada sinna logisid lihtsal ja universaalsel viisil.
Arengu seisukohast on see tore, eks? Pean silmas, et see pakub ühtset ja järjepidevat viisi, mille abil saame panustada mis tahes logimisteeki, mida me oma projektides kasutame. Ma käsitlen oma eelistatud raamatukogu hiljem artiklis.
Neile, kes pole objektorienteeritud programmeerimisega tutvunud või lihtsalt huvitatud sellest, kuidas ühtne liides meile kasulik on, mõelge sellele järgmiselt: olenemata sellest, millise süsteemi valite, on teil kindel funktsioonide, olekute ja muu komplekti olemasolu. saate oma rakenduses kasutada.
Lõppkokkuvõttes pakub logimissüsteemi lisamine, millel on standard, mille järgi see peab järgima, mitmesuguseid eeliseid olenemata valitud teegist (nii kaua kui see vastab PSR-3-le).
Proovige monoloogi
Monolog on enam-vähem PHP rakenduste de facto logimise utiliit.
Projekti on lihtne lisada Composeri kaudu, kuid see sisaldab ka mitmesuguseid erinevaid viise andmete väljastamiseks:
Monolog saadab teie logid failidesse, pesadesse, postkastidesse, andmebaasidesse ja erinevatesse veebiteenustesse. Vaadake allolevat töötlejate täielikku loendit. Spetsiaalsed töötlejad võimaldavad teil luua täiustatud logimisstrateegiaid.
Isiklikult olen seda kasutanud ainult väljundi failidesse saatmise kontekstis; aga võimalus seda väljastada teistesse süsteemidesse (eriti andmebaasidesse, näiteks WordPressiga töötades) on tore. Muidugi ei taha te seda võimet kuritarvitada.
Teiseks on oluline mõista, et kuigi logija saab instantseerida funktsioonis või mõnes teises klassis, on selleks ka teisi, rohkem objektorienteeritud viise. PSR-3 katab seda (nagu eespool mainitud).
Lühidalt öeldes soovite veenduda, et teie klass aktsepteerib LoggerInterface’i rakendava klassi eksemplari. Monolog rakendab nimetatud liidest, nii et see pole probleem.
Lisaks, mis juhtub siis, kui teil on rühm seotud klasse, mis kõik peavad logimist rakendama?
- Kas need klassid pärivad ühiselt vanemalt?
- Kas need klassid rakendavad mõnda omadust? (See on valik, mille sõber mulle hiljuti esitas.)
- Kas iga klass lihtsalt nõustub sõltuvusega konstruktorisüsti kaudu?
Logijaid saab klassi lisada mitmel erineval viisil ja see sõltub sellest, kuidas teie projekt on korraldatud.
Lisateave logimise kohta
Igal juhul on rakendusse sisselogimise juurutamine oluline mitmel põhjusel, näiteks tõrkeotsinguks, kui miski ei käitu ootuspäraselt nii arenduses, lavastuses kui ka tootmises.
