WordPress-kodningsstandarderna Hämta allt tillsammans

När det gäller att skriva en serie blogginlägg håller en av de mest utmanande aspekterna som läsare faktiskt upp med varje inlägg som publiceras.

Även om du lyckas försöka fortsätta, kan inlägg som överstiger 1000 ord - speciellt de som innehåller kod - ta tid som många av oss inte har särskilt när det gäller att jonglera våra arbetsliv, hem liv, hobbyer och andra saker.

För att säkerställa att informationen som presenteras i hela denna serie fortfarande presenteras på ett smältbart sätt trodde jag att jag skulle experimentera med att göra en sammanfattning av hela serien. På så sätt kan de som har saknat en artikel eller inte haft tid att sätta sig ner och gå igenom varje artikel, fortfarande få kärnan i varje punkt som nämns i artiklarna.

Med det sagt, låt oss ta en titt på allt vi täckte när vi granska WordPress-kodningsstandarderna.


WordPress-kodningsstandarderna

Generellt sett är syftet med hela serien att hjälpa till att uppnå WordPress kodningsstandarder så att de som inte hört talas om dem, de som inte känner till dem eller de som inte har följt dem är bättre rustade att skriva WordPress-teman, plugins och applikationer.

För att göra detta tog vi ett djupt dykk i ett antal olika aspekter av kodningsstandarderna genom sex olika artiklar som lyfter fram principer, bästa praxis och saker som ska undvikas.

Nedan har vi sammanfattat var och en av artiklarna samt de punkter som är viktiga punkter och värda att notera för ämnet i fråga. Självklart, om du är kvar med att ha mer information, kan du hoppa tillbaka till artikeln i serien (länkad överst i detta inlägg) för att läsa den i sin helhet.

1. Namngivna konventioner och funktionsargument

Namnkonventioner

När du arbetar med klasser, funktioner, variabler, attribut eller argument ska namngivningskonventioner hjälpa till att förklara syftet med att de tjänar.

Exempelvis är klasser vanligen substantiv och funktionsnamn är normalt verb. I slutändan handlar det om att se till att koden är läsbar och underhållbar.

Direkt från kodningsstandarderna:

Förkorta inte variabla namn oundvikligen; låt koden vara entydig och självdokumentation.

Men den här principen är värt att följa oavsett av var i koden du arbetar.

Funktionsargument

Kom ihåg att när det gäller att överföra funktionsargument är det viktigt att komma ihåg att om ett funktionsnamn beskriver åtgärden som det tar inom klassens sammanhang, ska argumentet representera vad funktionen faktiskt driver.

Föredra strängvärden till bara Sann och falsk när du ringer funktioner.

Det betyder att funktionsargument ska vara tydliga värden - strängar eller siffror - som booleska värden är ofta oklara och indikerar inte nödvändigtvis vilken funktion funktionen kommer att ta.

2. Användningen av enkla citat och dubbla citat

När det gäller att arbeta med strängar i WordPress, är det vanligtvis en fråga om att arbeta inom nyanser av PHPs strängmanipulation. Som sådan i denna artikel granskade vi hur PHP hanterar citat (både singel och dubbel) och hur det påverkar vår WordPress-utveckling.

Enkla citat

Det enklaste sättet att definiera en sträng i PHP är att pakka den med enkla citat (det vill säga "tecknet").

Som med de flesta programmeringsspråk, där är sätt att flytta tecken så att du kan skriva ut en sträng bokstavlig. Om du till exempel vill skriva: "String i PHP är enkelt", som en sträng, kan du göra det här:

'String \' s i PHP är enkla. '

Bakslaget kommer att instruera PHP att skriva ut det enda citatet istället för att avsluta den aktuella strängen. Det andra att notera är att om du har en variabel så kommer det att göra det inte ersatt när citerade i enkla citat.

Dubbla citat

Dubbel citat fungerar lite annorlunda inom PHP. Specifikt:

Om strängen är innesluten i dubbla citat ("), tolkar PHP fler escape-sekvenser för specialtecken.

Detta innebär att om du bäddar in en variabel i en dubbelvitad PHP-sträng, kommer variabeln att tolkas och dess värde kommer att införas i stället för variabeln innan den visas på skärmen.

Strängar och WordPress

Eftersom mycket av det arbete som gjorts i WordPress ingår även att skriva ut markup inom en PHP-sträng, är det bäst att placera de här strängarna i enkla citat så att attributen till HTML-elementet kan bifogas i dubbla citat.

Men det finns tillfällen där det är mer föredraget att använda dubbla citat speciellt när du behöver utvärdera en variabel.

De bästa råd som kan erbjudas här är att veta hur enkla citat och dubbla citat fungerar inom PHP, och använd dem sedan på lämpligt sätt baserat på ditt användningsfall.

3. Indentation, Space Usable och Trailing Spaces

Kom ihåg: Vitt utrymme ökar kodens läsbarhet och som utvecklare måste ett av våra primära mål vara att se till att koden vi skriver inte bara följer en fördefinierad standard utan också ger andra utvecklare till för att underlätta läsbarheten och underhållbarhet.

Indrag

När det gäller indragning finns ingenting nytt, särskilt om du är bekant med C-stil språk. För det mesta lägger du in varje gång du börjar ett nytt block.

  • Dina funktioner kommer att vara indragna i klassen
  • Dina villkor och växlar / fall och andra block kommer att vara indragna inom sina funktioner
  • Din slingor kommer att vara indragna inom sina funktioner, inom deras villkor, och så vidare

Observera att kodningsstandarderna do har regler om flikar och mellanslag:

Din indragning bör alltid återspegla den logiska strukturen. Använda sig av riktiga flikar och inte mellanslag, eftersom detta möjliggör mest flexibilitet över kunderna.

Detta är särskilt användbart i open source-community.

Användning av rymden

Rum bör placeras på följande platser:

  • Efter kommatecken
  • På båda sidor av logiska operatörer (det vill säga, ||&&, och !)
  • På båda sidor av jämförelseoperatörer (det vill säga, <>=====, etc.)
  • På båda sidor av uppdragsoperatörer (nämligen =)
  • På båda sidor om öppning och stängning parentes av funktioner, conditionals, loopar och så vidare.
  • När en variabel överförs som ett index för en array, men inte när ett bokstavligt värde (som en sträng eller ett heltal)

Trailing Spaces

Detta är en av de enklaste konventionerna att följa. Ärligt talat är chansen bra att din IDE eller redaktör har valfritt den här funktionen inbyggd eller det finns ett plugin som gör att du automatiskt kan göra det här.

Om inte, bör du kunna aktivera möjligheten att se flikar, mellanslag, vagnreturer och så vidare så att du enkelt kan identifiera var de bakre utrymmena är. Och när du ser dem, eliminera dem.

4. Brace Style, Regular Expressions och PHP Tags

I det här avsnittet tittade vi på varför stilen är viktig. Vi definierade också exakt hur kodningsstandarder och konventioner definierar på vilket sätt vi utformar vår kod.

Brace Style

Generellt sett är reglerna enkla:

  • Enkellinjeblock kan utelämna klammer
  • Multiline-block bör alltid innehålla hängslen
  • När du har överdriven multiline conditionals, överväga att bryta upp conditionalsna i sina egna funktioner för att minimera blocket

Dessa är särskilt vanliga om du kommer från andra C-stil språk; Men precis som WordPress har subtila nyanser som andra språk inte, är det värt att markera dem här.

Vanliga uttryck

PHP erbjuder en mängd olika sätt att arbeta med reguljära uttryck, men WordPress rekommenderar att vi bara använder en handfull av tillgängliga funktioner.

Reglerna för att arbeta med regelbundna uttryck i PHP i WordPress är följande:

  • Använd preg funktioner som PHP erbjuder
  • Använd inte \ e switch som erbjuds av PHP - använd preg_replace_callback istället.

Speciellt rekommenderar jag att jag är bekant med följande funktioner:

  • preg_replace
  • preg_match
  • preg_match_all

Observera dessutom att preg_replace_callback är ett sätt att ringa en funktion när ett reguljärt uttryck har hittat en matchning.

PHP-taggar

Det finns en mycket enkel tumregel för att använda PHP-taggar inom WordPress-utveckling:

  • Använd aldrig shorthand PHP-taggar

Det innebär att du aldrig ska öppna en fil eller ett inline PHP-formulär med  eller med . Naturligtvis bör alla inline PHP-uttalanden avslutas med ?> stängande tagg.

Förutom den kodningsstandard som definieras ovan lägger jag till:

  • Undvik att lägga till en avslutande PHP-tagg i rena PHP-filer.

Anledningen till detta nämndes ordatligt i den associerade artikeln:

Men om du skriver ett plugin eller en applikationsfil som är 100% PHP, så behöver du inte lägga till en avslutande tagg i slutet av filen. Parsern kommer att kunna detektera sig själv, och om du do inkludera en avslutande tagg, då kan du eventuellt ha blankutrymme kvar i slutet av filen som kan ringa alla slags problem när det kommer dags att aktivera plugin.

5. Ternary Operator och Yoda villkor

När det gäller att skriva WordPress-baserad kod, säger kodningsstandarderna att vi bör sträva efter läsbarhet:

I allmänhet är läsbarhet viktigare än smarthet eller kortfattadhet.

Vissa utvecklare anser att den ternära operatören är lite i strid med den här principen, särskilt för att det ännu är ett annat sätt att skriva en om annat påstående. Ännu fortfarande, den ternära operatören är ett livskraftigt alternativ när det gäller att skriva enkla villkor och anges i WordPress-kodningsstandarderna.

Ternary Operator

Först för de som inte är bekanta är den ternära operatören ett förenklat sätt att skriva en om annat Villkorligt uttalande. Det används vanligtvis endast när den villkorliga är den enklaste formen och endast när det finns en singel om och en singel annan blockera.

 $ uses_gasoline = 'hybrid' == $ car_type? falsk sann; echo $ uses_gasoline;

En viktig sak att märka: den ternära operatören testar för sann (snarare än falsk, uppenbarligen).

Yoda-förhållanden

Yoda villkor hänvisar till omvändning av variabla till värde jämförelser som vi utför när du skriver WordPress-kod. Vi detta, enligt kodningsstandarderna, eftersom:

I det ovanstående exemplet, om du släpper ut ett jämlikt tecken (erkänner det, sker det till och med den mest erfarna av oss) får du ett parse-fel, eftersom du inte kan tilldela en konstant som Sann. Om uttalandet var tvärtom ($ the_force = true), Uppdraget skulle vara helt giltigt, återvändande 1, orsakar if-uttalandet att utvärdera till Sann, och du kan jaga det buget ett tag.

Visst är det diskutabelt, men det är en del av standarden och du är kommer att se detta använda via WordPress kärna, teman, plugins, artiklar och mycket mer.

6. Databasfrågor och formatering av SQL-frågor

Så kort sagt, om API: n saknar vad du behöver, då $ wpdb kan vara ditt bästa alternativ, men jag rekommenderar bara att använda den om du har uttömt resten av dina alternativ.

Databasfrågor

I WordPress finns det ett antal API som gör det möjligt för oss att skapa egna frågor utan att behöva skriva SQL. Några av dessa API: er inkluderar:

  • WP_Query
  • WP_User_Query
  • get_post_meta
  • get_comment_meta
  • get_user_meta
  • … och många fler.

Det är viktigt att bekanta dig med vad API erbjuder så att du kan veta huruvida det finns en funktion eller ett objekt tillgängligt för att använda det för att hoppa direkt in i att skriva egna frågor.

SQL-frågor

API kan inte förutsäga Allt fall där vi behöver skriva våra databasfrågor. Och i dessa situationer ger WordPress ett objekt som gör att vi kan direkt interagera med databasen: $ wpdb.

Det tillåter oss att:

  • VÄLJ variabler, rader, kolumner och generiska resultat
  • FÖRA IN rader
  • UPPDATERING befintliga rader

Och tillåta oss att hämta data i ett format som vi mest skulle vilja arbeta med: en array, ett objekt eller ett enda värde (i vissa fall), och till och med tillåter oss att skydda oss genom SQL-injektion.

Men kom ihåg:

Om du måste röra databasen, ta kontakt med vissa utvecklare genom att skicka ett meddelande till wp-hackers mailinglistan. De kanske vill överväga att skapa en funktion för nästa WordPress-version för att täcka den funktionalitet du vill ha.


Slutsats

Som jag nämnde tidigare kan det vara svårt att hålla upp med en serie artiklar, speciellt de som involverar kod. För det ändamålet ville jag experimentera med att ge en sammanfattning av serien som fortfarande ger tillräckligt med information till dem som inte har haft chans att följa hela serien, men som fortfarande är intresserade av de aktuella ämnena.

Så om den här strategin eller typen av artikel är något du tycker om, låt mig veta och kanske kan vi fortsätta göra det för andra serier. annars, ingen skada ingen foul - jag mår bra heller.

Oavsett hoppas serierna har hjälpt till att förklara ett antal olika områden i WordPress-kodningsstandarderna som du antingen tidigare har missat, missförstått eller inte helt har huggat tills de läste dessa artiklar.