WordPress Coding Standards Ta med alt sammen

Når det gjelder å skrive en serie med blogginnlegg, er en av de mest utfordrende aspektene som leser faktisk å følge opp med hvert innlegg som er publisert.

Selv om du klarer å forsøke å fortsette, kan innlegg som overskrider 1000 ord - spesielt de som inneholder kode - ta tid som mange av oss ikke har spesielt når det gjelder å jonglere vårt arbeid, liv, hobbyer og andre ting.

For å sikre at informasjonen som presenteres gjennom denne serien fremdeles presenteres på en fordøyelig måte, trodde jeg at jeg ville eksperimentere med å lage et sammendrag av hele serien. På den måten, for de av dere som har gått glipp av en artikkel eller ikke har hatt tid til å sitte ned og gå gjennom hver artikkel, kan de fortsatt få tak i hvert punkt nevnt gjennom artiklene.

Med det sagt, la oss ta en titt på alt vi dekket da vi gjennomgikk WordPress Coding Standards.


WordPress-kodingsstandardene

Generelt sett har formålet med hele denne serien å bidra til å bringe lys til WordPress Coding Standards, slik at de som ikke har hørt om dem, de som ikke er oppmerksomme på dem, eller de som ikke har fulgt dem, er bedre rustet til å skrive WordPress-temaer, plugins og applikasjoner.

For å gjøre dette, tok vi et dypt dykk inn i en rekke forskjellige aspekter av kodningsstandardene i seks forskjellige artikler som fremhever prinsipper, beste praksis og ting å unngå.

Nedenfor har vi oppsummert hver enkelt artikkel, samt punktpunkene som er sentrale punkter og verdt å merke seg for emnet. Selvfølgelig, hvis du er igjen med å ha mer informasjon, kan du hoppe tilbake til artikkelen i serien (koblet på toppen av dette innlegget) for å lese det i sin helhet.

1. Navngi konvensjoner og funksjonsargumenter

Naming Conventions

Når du jobber med klasser, funksjoner, variabler, attributter eller argumenter, bør navnekonvensjoner bidra til å utpeke formålet med at de tjener.

For eksempel er klasser vanligvis substantiver og funksjonsnavn er normalt verb. Til slutt handler det om å sørge for at koden er lesbar og vedlikeholdbar.

Straight from the Coding Standards:

Ikke forkort variable navn unødvendigvis; la koden være entydig og selvdokumenterende.

Men dette prinsippet er verdt å følge uansett av hvor i koden du arbeider.

Funksjonsargumenter

Husk at når det gjelder å overføre funksjonsargumenter, er det viktig å huske at hvis et funksjonsnavn beskriver handlingen som det tar innenfor konteksten av klassen, bør argumentet representere hva funksjonen egentlig driver.

Foretrekk strengverdier til bare ekte og falsk når du ringer funksjoner.

Dette betyr at funksjonsargumenter skal være klare verdier - strenger eller tall - som boolske verdier er ofte uklare og ikke nødvendigvis indikere hvilken handling funksjonen vil ta.

2. Bruk av enkle sitater og doble tilbud

Når det gjelder å jobbe med strenge i WordPress, er det vanligvis et spørsmål om å jobbe i nyansene til PHPs strengmanipulasjon. Som sådan, i denne artikkelen, har vi vurdert hvordan PHP håndterer sitater (både enkelt og dobbelt) og hvordan det påvirker vår WordPress-utvikling.

Enkelt sitater

Den enkleste måten å definere en streng i PHP er å pakke den inn med enkelt anførselstegn (det vil si "tegnet).

Som med de fleste programmeringsspråk, der er måter å unnslippe tegn på slik at du kan skrive ut en streng bokstavelig. For eksempel, hvis du ønsket å skrive: "String er i PHP er enkelt", som en streng, kan du gjøre dette:

'Strings \' s i PHP er enkle. '

Bakslagene vil instruere PHP til å skrive ut det enkle sitatet i stedet for å avslutte den faktiske strengen. Den andre tingen å merke seg er at hvis du har en variabel, vil det ikke erstattet når sitert i enkelt sitater.

Double Quotes

Doble sitater virker litt annerledes innen PHP. Nærmere bestemt:

Hvis strengen er omsluttet i dobbelte sitater ("), vil PHP tolke flere fluktsekvenser for spesialtegn.

Dette betyr at hvis du legger inn en variabel i en dobbeltkrysset PHP-streng, blir variabelen tolket og verdien blir satt inn i stedet for variabelen før du viser den til skjermen.

Strings og WordPress

Siden mye av arbeidet i WordPress inkluderer også å skrive ut markup innenfor en PHP-streng, er det best å plassere disse strengene i enkelt anførselstegn, slik at attributter av HTML-elementet kan være vedlagt i dobbelte anførselstegn.

Men det er tider hvor det er mer å foretrekke å bruke doble anførselstegn spesielt når du må vurdere en variabel.

De beste rådene som kan tilbys her, er å vite hvordan enkle anførselstegn og dobbeltsatte anførselstegn arbeider i PHP, og bruk dem på riktig måte basert på brukskassen din.

3. Innrykk, plassbrukbare og etterfølgende rom

Husk: Hvit plass øker kodens lesbarhet og som utviklere bør en av våre primære mål være å sørge for at koden vi skriver, ikke bare følger en forhåndsdefinert standard, men også catering til andre utviklere for enkel lesbarhet og vedlikeholdbarhet.

innrykk

Når det gjelder innrykk, er det ingenting helt nytt, spesielt hvis du er kjent med C-stil-språk. Mesteparten av tiden, vil du strekke inn hver gang du starter en ny blokk.

  • Dine funksjoner vil være innrykket i klassen
  • Dine betingelser og bytte / tilfeller og andre blokker vil bli innrykket i deres funksjoner
  • Dine sløyfer vil bli innrykket i deres funksjoner, i deres conditionals, og så videre

Legg merke til at kodingsstandardene gjøre har regler på faner og mellomrom:

Din innrykk skal alltid gjenspeile logisk struktur. Bruk ekte faner og ikke mellomrom, da dette gir mest fleksibilitet over klientene.

Dette er spesielt nyttig i open source-fellesskapet.

Rombruk

Rom bør plasseres på følgende steder:

  • Etter kommaer
  • På begge sider av logiske operatører (det vil si, ||&&, og !)
  • På begge sider av sammenligning operatører (det er, <>=====, etc.)
  • På begge sider av oppdragsoperatører (nemlig =)
  • På begge sider av åpningen og lukke parentesen av funksjoner, conditionals, sløyfer og så videre.
  • Når en variabel blir sendt som en indeks for en matrise, men ikke når en bokstavelig verdi (for eksempel en streng eller et heltall)

Trailing Spaces

Dette er en av de enkleste konvensjonene å følge. Ærlig talt er sjansene gode at din IDE eller redigeringsvalg har denne funksjonen innebygd, eller det er et plugin tilgjengelig som gjør at du automatisk kan gjøre dette.

Hvis ikke, bør du kunne aktivere evnen til å se faner, mellomrom, vognretur, og så videre slik at du enkelt kan identifisere hvor de bakre mellomrom er. Og når du ser dem, fjern dem.

4. Brace Style, Regular Expressions, og PHP Tags

I denne delen tok vi en titt på hvorfor stilen er viktig. Vi definerte også nøyaktig hvordan kodningsstandarder og konvensjoner definerer hvordan vi stiler vår kode.

Brace Style

Generelt sett er reglene enkle:

  • Enkeltlinjeblokker kan utelate bøyler
  • Multiline blokker bør alltid inkludere bøyler
  • Når du har for mange multiline conditionals, bør du vurdere å bryte opp conditionalene i egne funksjoner for å minimere blokken

Disse er spesielt vanlige hvis du kommer fra andre C-stil språk; Men akkurat som WordPress har subtile nyanser som andre språk ikke gjør, er det verdt å markere dem her.

Vanlig uttrykk

PHP tilbyr en rekke måter å jobbe med vanlige uttrykk, men WordPress anbefaler at vi bare bruker en håndfull av tilgjengelige funksjoner.

Reglene for å arbeide med vanlige uttrykk i PHP i WordPress er som følger:

  • Bruke preg funksjoner som PHP tilbyr
  • Ikke bruk \ e bytte som tilbys av PHP - bruk preg_replace_callback i stedet.

Spesielt anbefaler jeg å være kjent med følgende funksjoner:

  • preg_replace
  • preg_match
  • preg_match_all

Legg merke til at preg_replace_callback er en måte å ringe til en funksjon når et vanlig uttrykk har funnet en kamp.

PHP Tags

Det er en veldig enkel tommelfingerregel for bruk av PHP-koder i WordPress-utvikling:

  • Bruk aldri kortfattede PHP-koder

Dette betyr at du aldri skal åpne en fil eller en inline PHP-setning med  eller med . Naturligvis bør alle inline PHP-setninger avsluttes med ?> avsluttende tag.

I tillegg til kodningsstandarden som er definert ovenfor, vil jeg også legge til:

  • Unngå å legge til en avsluttende PHP-tag i rene PHP-filer.

Årsaken til dette ble omtalt i den tilhørende artikkelen:

Men hvis du skriver et plugin eller en applikasjonsfil som er 100% PHP, så er det ikke nødvendig å legge til en avslutende tag på slutten av filen. Parseren vil kunne oppdage det selv, og hvis du gjøre inkludere en terminerings kode, så kan du potensielt ha hvite plass igjen på slutten av filen som kan ringe alle slags problemer når det kommer tid for å aktivere plugin.

5. Ternary Operator og Yoda betingelser

Når det gjelder å skrive WordPress-basert kode, sier kodningsstandardene at vi bør strebe etter lesbarhet:

Generelt er lesbarhet viktigere enn intelligens eller korthet.

Noen utviklere anser den ternære operatøren å være litt i strid med dette bestemte prinsippet, spesielt fordi det ennå er en annen måte å skrive en hvis / annet uttalelse. Likevel, den ternære operatøren er et levedyktig alternativ når det gjelder å skrive enkle betingelser og er angitt i WordPress Coding Standards.

Den ternære operatøren

For det første, for de som ikke er kjent, er den ternære operatøren en forenklet måte å skrive en hvis / annet betinget utsagn. Det brukes vanligvis bare når betinget er den enkleste form og bare når det er en singel hvis og en singel ellers blokkere.

 $ uses_gasoline = 'hybrid' == $ car_type? usann sannhet; ekko $ uses_gasoline;

En viktig ting å merke seg: Den ternære operatøren tester for ekte (i stedet for falsk, åpenbart).

Yoda betingelser

Yoda betingelser refererer til reversering av variabel til verdi sammenligninger som vi utfører når du skriver WordPress-kode. Vi dette, i henhold til kodningsstandardene, fordi:

I eksemplet ovenfor, hvis du utelater et likestilt skilt (innrøm det, skjer det selv til de mest erfarne av oss), får du en parse-feil, fordi du ikke kan tildele en konstant som ekte. Hvis utsagnet var omvendt ($ the_force = true), Oppdraget ville være helt gyldig, tilbake 1, forårsaker at uttalelsen skal evalueres til ekte, og du kan jage den feilen en stund.

Jo, det er diskutabelt, men det er En del av standarden og deg er kommer til å se dette brukt gjennom WordPress kjerne, temaer, plugins, artikler og mer.

6. Databaseforespørsler og formatering av SQL-spørringer

Så kort sagt, hvis API-en faller mindre enn hva du trenger, da $ wpdb kan være ditt beste alternativ, men jeg anbefaler bare å bruke den hvis du har brukt opp resten av alternativene dine.

Database spørringer

I WordPress finnes det en rekke APIer som gjør det mulig for oss å lage egne forespørsler uten å måtte skrive SQL. Noen av disse APIene inkluderer:

  • WP_Query
  • WP_User_Query
  • get_post_meta
  • get_comment_meta
  • get_user_meta
  • … og mange flere.

Det er viktig å gjøre deg kjent med hva API-en tilbyr slik at du kan vite om det er en funksjon eller et objekt som er tilgjengelig for å bruke før, for å hoppe rett inn i å skrive dine egne søk.

SQL-spørringer

APIer kan ikke forutsi alle tilfeller der vi trenger å skrive våre database spørringer. Og i disse situasjonene gir WordPress et objekt som gjør at vi kan direkte samhandle med databasen: $ wpdb.

Det tillater oss å:

  • Å VELGE variabler, rader, kolonner og generiske resultater
  • SETT INN rader
  • OPPDATER eksisterende rader

Og la oss hente dataene i et format som vi mest vil jobbe med: En matrise, en gjenstand eller en enkelt verdi (i noen tilfeller), og tillater oss å beskytte oss selv gjennom SQL-injeksjon.

Men husk:

Hvis du må røre databasen, ta kontakt med noen utviklere ved å sende en melding til wp-hackers mailinglisten. De vil kanskje vurdere å skape en funksjon for neste WordPress-versjon for å dekke funksjonaliteten du ønsket.


Konklusjon

Som nevnt tidligere, kan det være vanskelig å følge med en serie artikler, spesielt de som involverer kode. Til det formål ønsket jeg å eksperimentere med å gi et sammendrag av serien som fortsatt gir nok informasjon til de som ikke har hatt mulighet til å følge med hele serien, men som fortsatt er interessert i de aktuelle emnene.

Så hvis denne bestemte strategien eller artikkelen er noe du liker, gi meg beskjed, og kanskje kan vi fortsette å gjøre det for andre serier; ellers ingen skade, ingen feil - jeg har det bra heller.

Uansett håper jeg at serien har bidratt til å forklare et antall forskjellige områder av WordPress Coding Standards som du enten har gått glipp av, misforstått eller ikke har fulgt helt til du har lest disse artiklene.