WordPress kodningsstandarder enkla citat och dubbla citat

I den här serien tar vi en titt på WordPress PHP-kodningsstandarderna för att förstå hur kvalitet WordPress-kod ska skrivas.

Visst är allt detta dokumenterat i WordPress-kodningsstandarderna och det är en webbplats som varje WordPress-utvecklare borde ha bokmärkt och till hands när man arbetar med ett tema, ett plugin eller ett program. Men om du bara kommer in i WordPress-utveckling är det viktigt att förstå motiveringen till Varför Konventionerna är det sätt de är.

I den här artikeln ska vi titta på användningen av enkla citat och dubbla citat specifikt när det handlar om strängar.

Det här kan vara den kortaste och mest enkla artikeln i serien, men den bör täcka några viktiga nyanser när det gäller att arbeta med enkla citat, dubbla citat och strängar i WordPress.


Strängar i PHP och strängar i WordPress

Innan vi faktiskt diskuterar strängar som de relaterar till WordPress, är det viktigt att förstå hur PHP-språket tolkar strängar när de är singel citerade eller dubbelnoterade.

Enkla citat i PHP

För det första är det enklaste, enklaste sättet att definiera en sträng i PHP att helt enkelt pakka det 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. '

Se? 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 ersättas när citerade i enkla citat. Antag exempelvis att du har en variabel som heter $ name och det innehåller värdet "Envato".

Mer specifikt, i kod skulle det här se ut så här:

$ name = 'Envato'

Om du skulle bädda in $ name variabel till en annan sträng, "Envato" skulle inte ersättas.

 $ name = 'Envato'; echo 'Jag skriver för $ namn. Det är väldigt kul.';

Detta skulle bara ekosätta: Jag skriver för $ namn. Det är väldigt kul.

Här är här dubbla citat börjar komma till nytta.

Dubbelkurser i PHP

Direkt från PHP-manualen:

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

Du kan läsa mer om flykttecken och annan information i PHP-manualen, men låt oss säga att vi skulle omarbeta några av de strängar som vi definierat ovan.

Vårt första exempel, det vill säga den med det undkommna enkla citatet, kan nu definieras så här:

"String i PHP är enkelt."

Vårt andra exempel kan tas ett steg längre: Inte bara behövs flyktsekvensen, men även variabeln kommer att utvärderas:

 $ name = 'Envato'; echo "Jag skriver för $ name. Det är mycket roligt.";

Den andra raden kommer att echo bokstavligen: Jag skriver för Envato. Det är väldigt kul.

Så med det här som en introduktion, låt oss prata om detaljerna i strängar i WordPress. Sanningen är att om du har en stark förståelse för alla ovanstående finns det inte mycket mer att lägga till än några enstaka fall.

Enkla citat i WordPress

I överensstämmelse med PHP-kodningskonventioner följer den allmänna tumregeln att alltid använda enskilda citat för att definiera dina strängar.

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.

Till exempel:

$ html = 'WordPress';

Självklart gör det ovanstående en mycket renare läsupplevelse än att behöva placera flera flygtecken i för att hantera dubbla citat, snedstreck och så vidare.

Om du har att göra med markup som behöver spänna över flera rader eller där du skapar flera element, varav några är barnelement från andra, rekommenderar jag alltid att du indrycker koden så att den läser som ett HTML-dokument skulle.

Till exempel:

 $ name = 'Tom McFarlin'; $ html = '
'; $ html. = ''. $ namn. ''; $ html. =
';

Det är viktigt att notera att detta inte ingår i WordPress Coding Standards - den här konventionen är en som jag bara tycker är användbar när det gäller att behålla kod - men minns att ensam citerade strängar gör inte värdera värdet av en variabel.

Som sådan är det viktigt att notera att vi i detta fall använder strängkonsatation för att inkludera variabeldefinitionen.

Dubbelnoteringar i WordPress

Precis som med dubbla citat i PHP är det viktigt att notera att det finns tillfällen där det är mer föredraget att använda dem, särskilt när du behöver utvärdera en variabel.

Genom att använda exemplet från koden ovan skulle vi anpassa den enligt följande:

 $ name = 'Tom McFarlin'; $ html = "
"; $ html. ="$ name"; $ html. ="
";

Observera att vi bytte ut alla enkla citattecken med dubbla citat och att vi inte längre behöver utföra några strängförbindelser med $ name variabel eftersom det kommer att utvärderas.

Det är också viktigt att notera att även om det är tvekan vanligare för att se dubbla citat som tillämpas på HTML-attribut, fungerar även enkla citat bra, särskilt i scenarier som detta.


Men där är undantag

När man arbetar med strängar och olika programmeringsspråk - nämligen HTML - kan det bli lite komplicerat när det gäller hur du nestar din kod.

Till exempel, säg att du använder PHP för att skriva ut JavaScript som är ansvarigt för att göra lite HTML. I det här scenariot kommer du att skriva många citat.

Även om det är möjligt att helt enkelt byta dina citat stilar, kommer det inte att fungera 100% av tiden.

Även kodningsstandardstaten:

Ett undantag till detta är JavaScript, vilket ibland kräver dubbla eller enkla citat.

Även om det finns tillfällen där du kanske inte kan göra detta stärker du tanken att vi ska sträva efter att behålla varje programmeringsspråk i sin egen filstil och inkludera dem när och när så är nödvändigt.


Finns det några säkerhetsproblem?

Ja, men WordPress gör dem extremt lätta att hantera, och även om det här tekniskt faller under datavalidering, är det nära relaterat till exakt vad vi diskuterar i den här artikeln.

Det främsta problemet är att det finns tillfällen där vi kan skriva ut HTML-attribut dynamiskt på vår markering som har värden som vi inte kan förutse. I sådana fall måste vi kunna undkomma nämnda data.

Lyckligtvis tillhandahåller WordPress esc_attr fungera. Enkelt uttryckt kommer denna funktion att ta en inkommande sträng och koda tecknen för att se till att de görs korrekt i webbläsaren.

Praktiskt taget skulle du använda det precis som Codex visar:

 eko "';

För mer information, var noga med att granska Codex artikeln.


Slutsats

Så, som en allmän tumregel, borde du hålla fast vid att använda enkla citat såvida inte du kommer att utvärdera en sträng eller du kommer att återvända och echo'ing HTML, JavaScript eller eventuellt till och med CSS tillbaka till den som ringer.

Precis som kodningsstandarderna anger:

Du borde nästan aldrig behöva flyga citat i en sträng, för att du bara kan byta din citatstil.

Såsom du arbetar med strängar i ditt framtida arbete, behåll dessa principer i åtanke och det kan gå på sätt att se till att dina strängar är så rena och lätt att förstå som möjligt inom ramen för dina WordPress-baserade projekt.