În acest moment din serie, am acoperit o mulțime de teren. Până acum, am discutat următoarele subiecte:
Multe lucruri, bine?
În acest articol special, am crezut că vom face ceva mai ușor înainte de a sări în ultimul subiect. Ca atare, vom acoperi două subiecte foarte simple (adesea ignorate sau supracomplicate).
Mai precis, vom vorbi despre operatorul ternar și vom vorbi despre condițiile lui Yoda.
Când vine vorba de scrierea unui cod bazat pe WordPress, standardele de codificare spun strict că ar trebui să ne îndreptăm atenția asupra lizibilității. Direct de la Codex:
În general, lizibilitatea este mai importantă decât inteligența sau coerența.
Dar acolo este un pic de nuanță la acest lucru. 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
și dacă dezvoltatorul nu este familiarizat cu scrierea sau citirea operatorului ternar, atunci acesta încalcă acest principiu.
Vom arunca o privire mai profundă într-o clipă.
Î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.
De exemplu, să presupunem că avem o astfel de condiție:
$ uses_gasoline = null; dacă ('hibrid' == $ car_type) $ uses_gasoline = false; altfel $ uses_gasoline = true; echo $ uses_gasoline;
Sigur, acesta este un exemplu destul de controversat, dar obțineți punctul. La urma urmei, încerc doar să demonstrez cum să convertesc un astfel de condițional într-o formă utilizată de operatorul ternar.
În conformitate cu exemplul de mai sus, puteți face următoarele:
$ uses_gasoline = 'hibrid' == $ car_type? fals adevarat; echo $ uses_gasoline;
Are sens? Un lucru important de observat: operatorul ternar testează pentru adevărat (mai degrabă decât fals, evident).
Pentru ceea ce merită, cred că este mult mai mult decât să citești o propoziție. Prima clauză pune o întrebare (în mod evident punctată de un semn de întrebare), cu cele două răspunsuri posibile returnate pe baza evaluării condiției.
Acolo este o avertizare pentru verificarea adevărului, care este documentată în Codex:
Ar fi o excepție
! gol()
, deoarece testarea pentru fals este, în general, mai intuitivă.
Din experiența mea, aceasta a fost singura dată pentru a folosi o evaluare negativă în condițional. De fiecare dată când am lucrat cu operatorul ternar, am descoperit că testarea pentru fals face adesea mai dificilă descifrarea evaluării ternare.
În plus, am descoperit că este mai bine să oferiți o singură evaluare și poate două evaluări în circumstanțe foarte simple și clare.
În afară de asta, asta cum poți folosi operatorul ternar în munca ta de zi cu zi a WordPress
Dacă ați urmărit îndeaproape, veți observa că am făcut ceva ce majoritatea limbajelor de programare (sau chiar platforme bazate pe PHP în afara WordPress) nu fac în mod regulat:
Comparația condiționată a fost făcută prin compararea valorii cu variabila; nu invers.
În mod tradițional, vom vedea ceva de genul:
$ uses_gasoline = null; dacă ($ car_type == 'hibrid') $ uses_gasoline = false; altfel $ uses_gasoline = true; echo $ uses_gasoline;
Și operatorul ternar corespunzător ar arăta așa:
$ uses_gasoline = $ car_type == "hibrid"? fals adevarat; echo $ uses_gasoline;
Deci, dacă majoritatea limbilor de programare și a platformelor nu face utilizați condițiile Yoda, atunci de ce nu WordPress?
Conform Codului:
Î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-se1
, cauzând declarația if pentru a evalua laAdevărat
, și ați putea să vă urmăriți pentru o vreme.
În opinia mea, aceasta este o explicație cu adevărat bună pentru efectuarea de comparații ca aceasta mai ales în limbi dinamice, cum ar fi PHP și JavaScript.
Indiferent dacă sunteți de acord cu această abordare sau nu, aceasta 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.
În acest scop, vă recomand să începeți să vă implementați în munca voastră.
După cum am menționat de la început, postul respectiv va fi mult mai simplu și mai simplu decât unele din celelalte materiale pe care le-am acoperit până acum.
În acest moment, avem doar un subiect mai important care să acopere: interogări baze de date.
După aceea, vom face o trecere în revistă a tuturor subiectelor pe care le-am prezentat în cadrul acestei serii, pentru a rezuma principiile pe care le-am detaliat de la Standardele de codificare.
Dar, mai întâi, la întrebările bazei de date.