✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

PSR-kirjausliittymä (ja miksi kirjaaminen on tärkeää)

19

Kaksi PHP:n ominaisuutta, joita mielestäni käytetään usein liikaa "virheenkorjauksessa", ovat echo ja var_dump. Olen puhunut tästä muutamassa eri virheenkorjausta käsittelevässä artikkelissa (kuten täällä ja täällä ).

Ja niin paljon kuin olen debuggerin käyttämisen fani, mielestäni on myös tärkeää ottaa käyttöön eräänlainen lokijärjestelmä, jotta sinä tai asiakkaasi voitte palata tarkastelemaan järjestelmässä tapahtuvaa toimintaa heidän tai heidän käyttäjiensä käyttänyt sitä.

Tämän tekemiseen on kuitenkin kaksi näkökohtaa, varsinkin jos haluat seurata PSR-kirjausliittymää, ja ne ovat:

  1. varsinaisen kirjausliittymän säännöt,
  2. projekti, joka toteuttaa oikein mainitun lokirajapinnan.

Joten miksi et käsittele molempia tässä viestissä?

PSR-kirjausliittymä

PSR – lokirajapinta (tai PSR-3) kattaa useita asioita, joista voit lukea tarkemmin varsinaisella sivulla.

Nämä sisältävät:

  1. Perusteet
  2. Viestit
  3. Konteksti
  4. Auttajaluokat
  5. Paketit
  6. Liitännät
  7. Lokitasot
  8. Ja enemmän.

Mutta tämän artikkelin tarkoituksiin haluan puhua nimenomaan käyttöliittymästä itsestään, sen toteuttavasta projektista ja siitä, miksi se on tärkeä.

Kirjausliittymä

Asiakirjan kotisivulla lukee:

Tässä asiakirjassa kuvataan yhteinen käyttöliittymä kirjastojen kirjaamiseen.

Päätavoitteena on antaa kirjastoille mahdollisuus vastaanottaa PsrLogLoggerInterface-objekti ja kirjoittaa siihen lokeja yksinkertaisella ja yleisellä tavalla.

Kehityksen näkökulmasta se on mukavaa, eikö? Tarkoitan, että se tarjoaa yhden, johdonmukaisen tavan, jolla voimme panostaa mihin tahansa lokikirjastoon, jota päätämme käyttää projekteissamme. Kerron haluamastani kirjastosta myöhemmin artikkelissa.

Niille, jotka ovat uusia olio-ohjelmoinnissa tai jotka ovat vain kiinnostuneita siitä, kuinka yhtenäinen käyttöliittymä hyödyttää meitä, ajattele asiaa näin: Riippumatta siitä, minkä järjestelmän valitset, sinulla on taatusti tietty joukko toimintoja, tiloja ja niin edelleen. voi käyttää sovelluksessasi.

Loppujen lopuksi sellaisen lokijärjestelmän lisääminen, jolla on standardi, jota sen on noudatettava, tarjoaa useita etuja riippumatta siitä, minkä kirjaston valitset (kunhan se on PSR-3:n mukainen).

Kokeile Monologia

Monolog on enemmän tai vähemmän de facto lokityökalu PHP-sovelluksille.

PSR-kirjausliittymä (ja miksi kirjaaminen on tärkeää)

Projektin lisääminen Composerin kautta on helppoa, mutta se sisältää myös useita erilaisia ​​tapoja tulostaa tietoja:

Monolog lähettää lokit tiedostoihin, pistorasiaan, postilaatikoihin, tietokantoihin ja erilaisiin verkkopalveluihin. Katso täydellinen luettelo käsittelijöistä alta. Erikoiskäsittelijöiden avulla voit rakentaa edistyneitä kirjausstrategioita.

Henkilökohtaisesti olen käyttänyt sitä vain lähetyksen yhteydessä tiedostoihin; On kuitenkin hyvä, että sen voi tulostaa muihin järjestelmiin (etenkin tietokantoihin, kuten WordPressin kanssa työskennellessä). Et tietenkään halua käyttää tätä kykyä väärin.

Toiseksi on tärkeää tunnustaa, että vaikka voit instantioida Loggerin funktiossa tai muussa luokassa, on olemassa muita, oliokeskeisempiä tapoja tehdä tämä. PSR-3 kattaa tämän (kuten edellä mainittiin).

Lyhyesti sanottuna haluat varmistaa, että luokkasi hyväksyy luokan esiintymän, joka toteuttaa LoggerInterfacen. Monolog toteuttaa mainitun käyttöliittymän, joten se ei ole ongelma.

Lisäksi, mitä tapahtuu, kun sinulla on joukko toisiinsa liittyviä luokkia, joiden kaikkien on otettava käyttöön loki?

  • Perivätkö nämä luokat yhteiseltä vanhemmalta?
  • Toteuttavatko nämä luokat jotain ominaisuutta? (Tämän vaihtoehdon ystäväni esitteli minulle äskettäin.)
  • Hyväksyykö jokainen luokka riippuvuuden rakentajainjektion avulla?

On olemassa useita tapoja, joilla loggareita voidaan lisätä luokkaan, ja se riippuu siitä, miten projektisi on järjestetty.

Lisää kirjaamisesta

Joka tapauksessa kirjautumisen käyttöönotto sovellukseen on tärkeää useista syistä, kuten vianmäärityksestä, kun jokin ei toimi odotetulla tavalla sekä kehityksessä, lavastuksessa että erityisesti tuotannossa.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja