Standardele de codificare WordPress Aduceți-le împreună

Când vine vorba de a scrie o serie de postări pe blog, unul dintre aspectele cele mai provocatoare ca un cititor este de fapt, ține pasul cu fiecare post care este publicat.

Chiar dacă reușiți să păstrați pasul, postările care depășesc 1.000 de cuvinte - în special cele care includ codul - pot avea nevoie de mult timp pe care mulți dintre noi nu au în special atunci când vine vorba de jonglarea vieții noastre profesionale, hobby-uri și alte lucruri.

Deci, pentru a vă asigura că informațiile prezentate pe parcursul acestei serii sunt încă prezentate într-un mod digerabil, m-am gândit că voi încerca să fac un rezumat al întregii serii. În acest fel, pentru cei dintre voi care au pierdut un articol sau nu au avut timp să se așeze și să treacă prin fiecare articol, pot obține încă esența fiecărui punct menționat în întreaga articole.

Cu asta a spus, să aruncăm o privire la tot ce am acoperit atunci când revizuim WordPress Coding Standards.


Standardele de codificare WordPress

În general, scopul acestei întregi serii este de a ajuta la aducerea la lumină a standardelor de codificare WordPress, astfel încât cei care nu au auzit de ei, cei care nu sunt conștienți de ei sau cei care nu au urmat aceștia sunt mai bine pregătiți să scrie WordPress teme, plugin-uri și aplicații.

Pentru a face acest lucru, ne-am aruncat adânc într-o serie de aspecte diferite ale standardelor de codificare în șase articole diferite, subliniind principiile, cele mai bune practici și lucrurile pe care trebuie să le evităm.

Mai jos, am rezumat fiecare dintre articole, precum și punctele de glonț care sunt puncte cheie și merită notate pentru subiectul în cauză. Desigur, dacă mai ai nevoie de mai multe informații, poți să te întorci la articolul din seria (legat la partea de sus a acestui post) să o citești în întregime.

1. Convențiile de denumire și argumentele privind funcțiile

Convențiile de denumire

Când lucrați cu clase, funcții, variabile, atribute sau argumente, convențiile de numire ar trebui să contribuie la explicarea scopului pe care îl servesc.

De exemplu, clasele sunt în general substantive și numele funcțiilor sunt, în mod normal, verbe. În cele din urmă, este vorba de a vă asigura că codul este lizibil și ușor de întreținut.

Direct de la standardele de codificare:

Nu abreviați numele variabilelor neapărat; lăsați codul să fie neechivoc și autocumentant.

Dar acest principiu particular merită urmărit fără deosebire de unde în codul pe care lucrați.

Argumente funcționale

Amintiți-vă că atunci când este vorba despre argumentarea funcțiilor trecute, este important să rețineți că dacă un nume de funcție descrie acțiunea pe care o ia în contextul clasei, argumentul ar trebui să reprezinte ceea ce funcția funcționează.

Preferați valorile șirului la doar Adevărat și fals când apelați funcții.

Aceasta înseamnă că argumentele funcției ar trebui să fie valori clare - șiruri sau numere - deoarece valorile booleene sunt adesea neclare și nu indică neapărat ce acțiune va avea funcția.

2. Utilizarea cotelor unice și a cotelor duble

Când vine vorba de a lucra cu șiruri de caractere în WordPress, este de obicei o chestiune de lucru în cadrul nuanțelor manipulării șirului PHP. Ca atare, în acest articol, am analizat modul în care PHP gestionează citatele (atât singulare cât și duble) și modul în care acestea afectează dezvoltarea WordPress.

Citate unice

Cea mai ușoară modalitate de a defini un șir în PHP este să îl înfășurați cu citate simple (adică "personajul"),.

Ca și în majoritatea limbajelor de programare, există sunteți modalități de a scăpa de personaje, astfel încât să puteți scrie o literă stringală. De exemplu, dacă doriți să scrieți: "String-ul în PHP este ușor", ca un șir, atunci puteți face acest lucru:

"String-ul în PHP este ușor."

Backslash-urile vor instrui PHP să scrie singură citatul, mai degrabă decât să termine șirul real. Cel de-al doilea lucru care trebuie luat în considerare este că dacă aveți o variabilă, va fi nu înlocuite atunci când sunt cotate în citate unice.

Citate dublă

Citatele duble funcționează un pic diferit în cadrul PHP. Specific:

Dacă șirul este închis în dublu-cotații ("), PHP va interpreta mai multe secvențe de evacuare pentru caractere speciale.

Aceasta înseamnă că dacă încorporați o variabilă într-un șir PHP dublu-cotat, atunci variabila va fi interpretată și valoarea acesteia va fi inserată în locul variabilei înainte de a fi afișată pe ecran.

Strings și WordPress

Deoarece o mare parte din munca făcută în WordPress include și scrierea marcării în un șir PHP, este mai bine să plasați acele șiruri în citate simple, astfel încât atributele elementului HTML să fie închise în citate dublă.

Dar sunt momente în care este mai preferabil să folosiți citate duble mai ales când trebuie să evaluați o variabilă.

Cel mai bun sfat care poate fi oferit aici este să știți cum funcționează citatele singulare și citatele duble în PHP și apoi să le folosiți în mod corespunzător pe baza cazului dvs. de utilizare.

3. Indentare, spațiu utilizabil și spații înclinate

Amintiți-vă: Spațiul alb îmbunătățește lizibilitatea codului și, în calitate de dezvoltatori, unul dintre obiectivele noastre principale ar trebui să fie să ne asigurăm că codul pe care îl scriem nu este doar conform unui standard predefinit, ci se ocupă de alți dezvoltatori pentru a fi ușor de citit și mentenabilitate.

zimțuire

În ceea ce privește indentarea, nu este nimic nou cu adevărat mai ales dacă sunteți familiarizați cu limbile în stil C. De cele mai multe ori, veți indentați de fiecare dată când începeți un nou bloc.

  • Funcțiile dvs. vor fi indentate în cadrul clasei
  • Condițiile și comenzile / casetele și alte blocuri vor fi indentate în cadrul funcțiilor lor
  • Buclele dvs. vor fi indentate în funcțiile lor, în condiționările lor și așa mai departe

Rețineți că standardele de codificare do au reguli privind filele și spațiile:

Indentarea dvs. trebuie să reflecte întotdeauna structura logică. Utilizare filele reale și nu spații, deoarece acest lucru permite cea mai mare flexibilitate în rândul clienților.

Acest lucru este util în special în comunitatea open source.

Utilizarea spațiului

Spațiile trebuie plasate în următoarele locuri:

  • După virgule
  • Pe ambele părți ale operatorilor logici (adică, ||&&, și !)
  • Pe ambele părți ale operatorilor de comparație (adică, <>=====, etc)
  • Pe ambele părți ale operatorilor de atribuire (și anume =)
  • Pe ambele laturi ale parantezei de deschidere și închidere a funcțiilor, condiționale, bucle și așa mai departe.
  • Atunci când o variabilă este trecută ca un indice al unei matrice, dar nu când o valoare literală (cum ar fi un șir sau un întreg)

Spațiile din spate

Aceasta este una dintre cele mai simple convenții de urmat. Sincer, șansele sunt bune ca IDE-ul sau editorul ales să aibă această funcție încorporată sau există un plugin disponibil care vă va permite să faceți automat acest lucru.

Dacă nu, ar trebui să puteți activa capacitatea de a vedea file, spații, retururi de caroserie și așa mai departe, astfel încât să puteți identifica cu ușurință Unde spațiile înclinate sunt. Iar când le vedeți, eliminați-le.

4. Brace Style, expresii regulate și etichete PHP

În această secțiune, am analizat de ce contează stilul. De asemenea, am definit exact modul în care definim standardele și convențiile de codificare Cum noi stilul nostru de cod.

Stilul brațului

În general, regulile sunt simple:

  • Blocurile cu o singură linie pot omite brațele
  • Blocurile multiline trebuie să includă întotdeauna brațe
  • Când aveți condiționări excesive pe mai multe linii, luați în considerare divizarea condiționărilor în propriile lor funcții pentru a minimiza blocul

Acestea sunt deosebit de frecvente dacă veniți din alte limbi în stil C; cu toate acestea, la fel cum WordPress are nuante subtile pe care alte limbi nu le folosesc, merita sa le subliniem aici.

Expresii obisnuite

PHP oferă o varietate de moduri de a lucra cu expresii regulate, deși WordPress recomandă să folosim doar o mână de funcții disponibile.

Regulile pentru lucrul cu expresii regulate în PHP în WordPress sunt după cum urmează:

  • Folosește pREG funcții oferite de PHP
  • Nu utilizați \ e comutator care este oferit de PHP - utilizare preg_replace_callback in schimb.

În mod special, vă recomandăm să cunoașteți următoarele funcții:

  • preg_replace
  • preg_match
  • preg_match_all

În plus, rețineți că preg_replace_callback este o modalitate de a apela o funcție atunci când o expresie obișnuită a găsit o potrivire.

Etichete PHP

Există o regulă foarte simplă pentru utilizarea etichetelor PHP în cadrul dezvoltării WordPress:

  • Nu utilizați niciodată tag-uri de sintagmă PHP

Acest lucru înseamnă că nu ar trebui să deschideți niciodată un fișier sau o instrucțiune în linie PHP cu  sau cu . Firește, toate instrucțiunile PHP inline ar trebui să se termine cu ?> tag-ul de închidere.

Pe lângă standardul de codare definit mai sus, aș adăuga și:

  • Evitați adăugarea unei etichete de terminare a PHP în fișierele pure PHP.

Motivul pentru aceasta a fost menționat în mod literal în articolul asociat:

Dar dacă scrieți un plugin sau un fișier de aplicație care este 100% PHP, atunci nu este nevoie să adăugați o etichetă de terminare la sfârșitul fișierului. Parserul va fi capabil să o detecteze, iar dacă tu do include o etichetă de terminare, după care puteți lăsa spațiul alb la sfârșitul fișierului, care poate apela tot felul de probleme atunci când vine timpul să activați pluginul.

5. Operatorul Ternar și condițiile Yoda

Când vine vorba de scrierea unui cod bazat pe WordPress, standardele de codare spun că ar trebui să ne străduim pentru lizibilitate:

În general, lizibilitatea este mai importantă decât inteligența sau coerența.

Unii dezvoltatori consideră că operatorul ternar este puțin în contradicție cu acest principiu, în special pentru că este încă un alt mod de a scrie dacă / altceva afirmație. Chiar și așa, operatorul ternar este o opțiune viabilă atunci când vine vorba de scrierea condițiilor simple și este menționată în Codurile de Codare WordPress.

Operatorul Ternar

În primul rând, pentru cei care nu sunt familiarizați, operatorul ternar este o modalitate simplificată de a scrie un dacă / altceva Declarație condiționată. Este de obicei folosit numai când condiționată este cea mai simplă formă și numai când există un singur dacă și un singur altfel bloc.

 $ uses_gasoline = 'hibrid' == $ car_type? fals adevarat; echo $ uses_gasoline;

Un lucru important de observat: operatorul ternar testează pentru adevărat (mai degrabă decât fals, evident).

Conditii Yoda

Condițiile Yoda se referă la inversarea comparațiilor de la variabile la valori pe care le realizăm atunci când scriem codul WordPress. Acest lucru, conform standardelor de codificare, deoarece:

În exemplul de mai sus, dacă omiteți un semn egal (admiteți-l, se întâmplă și celor mai condimentați dintre noi), veți primi o eroare de analiză, pentru că nu puteți atribui unei constante Adevărat. Dacă declarația era inversă ($ the_force = true), atribuirea ar fi perfect valabilă, întorcându-se 1, cauzând declarația if pentru a evalua la Adevărat, și ați putea să vă urmăriți pentru o vreme.

Sigur, este discutabil, dar asta e este o parte a standardului și tu sunteți pentru a vedea acest lucru folosit prin WordPress core, teme, plugin-uri, articole și multe altele.

6. Interogările bazei de date și Formatarea interogărilor SQL

Deci, pe scurt, dacă API nu corespunde cu ceea ce aveți nevoie, atunci $ wpdb poate fi cea mai bună opțiune, dar vă recomandăm să o utilizați doar dacă ați epuizat restul opțiunilor.

Întrebări de bază de date

În WordPress, există un număr de API-uri care ne permit să realizăm propriile interogări fără a fi nevoie să scriem SQL. Unele dintre aceste API includ:

  • WP_Query
  • WP_User_Query
  • get_post_meta
  • get_comment_meta
  • get_user_meta
  • … si multe altele.

Este important să vă familiarizați cu ceea ce oferă API, astfel încât să știți dacă există sau nu o funcție sau un obiect disponibil pentru utilizare înainte de a sari direct în scrierea propriilor dvs. interogări.

Interogări SQL

API-urile nu pot anticipa toate cazuri în care trebuie să scriem interogările bazei noastre de date. În aceste situații, WordPress oferă un obiect care ne permite să interacționăm direct cu baza de date: $ wpdb.

Ne permite să:

  • SELECTAȚI variabile, rânduri, coloane și rezultate generice
  • INTRODUCE rânduri
  • ACTUALIZAȚI rânduri existente

Și permiteți-ne să preluăm datele într-un format cu care ne-ar plăcea cel mai mult să lucrăm: o matrice, un obiect sau o singură valoare (în unele cazuri) și chiar ne permite să ne protejăm prin injecție SQL.

Dar amintește-ți:

Dacă trebuie să atingeți baza de date, luați legătura cu unii dezvoltatori prin postarea unui mesaj pe lista de discuții pe wp-hackers. Ei ar putea dori să ia în considerare crearea unei funcții pentru versiunea următoare WordPress pentru a acoperi funcționalitatea dorită.


Concluzie

După cum am menționat mai devreme, poate fi dificil să țineți cont de o serie de articole, mai ales cele care implică cod. În acest scop, am vrut să experimentez cu oferirea unui rezumat al seriei care oferă în continuare informații suficiente celor care nu au avut șansa de a ține pasul cu întreaga serie, dar care sunt încă interesați de subiectele de față.

Deci, dacă această strategie particulară sau tip de articol este ceva care vă place, permiteți-mi să știu și poate putem continua să facem acest lucru pentru alte serii; în caz contrar, nici un rău nu este fault - eu sunt bine oricum.

Cu toate acestea, sper ca seria a ajutat la explicarea mai multor domenii diferite ale standardelor de codificare WordPress pe care le-ați pierdut anterior, ați înțeles greșit sau nu ați grokked până la citirea acestor articole.

Cod