Mida rohkem ma hakkan proovima kasutada PSR-2 kodeerimisstandardeid ja tööriistu, nagu GrumPHP (ja sellega seotud), seda rohkem leian, et minu kirjutatud koodi kvaliteeti saab väikestel viisidel oluliselt parandada.
Ja ma ei taha kõlada vastuoluliselt: ma mõtlen, et idee, et midagi "oluliselt" on "väiksemalt" parandatud, ei ole just äge, eks?
Aga kuulake mind.
Kujutage ette, et saate kirjutada puhast, loetavat ja hooldatavat koodi, kasutades kodeerimisstandardeid, mis ei ole mitte ainult kaasaegsed, vaid ka PHP-sse sisseehitatud, mängite kenasti WordPressiga ja mis on loetavam kui mõnel muul viisil, millega oleme seda teinud. minevikus või muude standardite kodeerimisvahendite kasutamisel.
Kas sa ei oleks huvitatud?
Postitusandmete desinfitseerimine
Võtke näiteks idee postituste andmete desinfitseerimise vajadusest WordPressis. See tähendab, et teave saadetakse serverisse POST-päringu kaudu, see sisaldub $_POST superglobaalis ja see tuleb enne selle kallal töötamist desinfitseerida.
Muidugi pakub WordPress selle jaoks mõnda abifunktsiooni – ja need on kasulikud –, kuid PHP pakub ka mõnda abifunktsiooni .
Esitan alloleva teabe täieliku sisu funktsioonina, mida saate oma koodis uuesti kasutada. Kuid kõigepealt pange tähele, et ma olen agressiivne. Teil ei pruugi vaja minna kõike, mida ma näitan.
See tähendab, et kood, mida näete, teeb järgmist:
- otsib $_POST superglobaali muutuja,
- kontrollib vale kodeeringu olemasolu,
- kodeerib erinevaid üksusi, eemaldab kõik sildid, eemaldab reavahetused, tabeldusmärgid, tühikud ja palju muud,
- tsiteerib tsiteeritud stringi,
- eemaldab stringist HTML- ja PHP-sildid
Nagu ma ütlesin, ei pruugi seda kõike vaja minna ja olenevalt sellest, kuidas soovite oma andmeid hallata, on ka teisi võimalusi (näiteks vt wp_kses ).
Kuid mõnikord võib teil olla seadete leht, mida soovite hallata enne andmete agressiivset kirjutamist andmebaasi.
Ülaltoodud koodis kasutatakse funktsiooni $_POST superglobaalis leiduva teabe edastamiseks. Seejärel puhastatakse see ülaltoodud strateegiat kasutades agressiivselt ja tagastatakse nii desinfitseeritud kui võimalik.
Nagu ma ütlesin, saab seda muuta, et see sobiks mis tahes kasutusotstarbega, kuid kui otsite üht lihtsaimat ja agressiivsemat viisi kasutaja sisendi puhastamiseks, võib see funktsioon osutuda teie jõupingutustes kasulikuks.