Gli standard di codifica di WordPress riunire tutto insieme

Quando si tratta di scrivere una serie di post sul blog, uno degli aspetti più stimolanti di un lettore è in realtà tenere il passo con ogni post pubblicato.

Anche se riesci a cercare di tenere il passo, i post che superano le 1.000 parole - specialmente quelli che includono il codice - possono richiedere del tempo che molti di noi non hanno, specialmente quando si tratta di destreggiarsi tra le nostre vite lavorative, vite domestiche, hobby e altre cose.

Quindi, per assicurarmi che le informazioni presentate in questa serie siano ancora presentate in modo digeribile, ho pensato di sperimentare un riassunto dell'intera serie. In questo modo, per quelli di voi che hanno perso un articolo o non hanno avuto il tempo di sedersi e passare attraverso ogni articolo, può ancora ottenere il succo di ogni punto menzionato in tutti gli articoli.

Detto questo, diamo un'occhiata a tutto ciò che abbiamo esaminato durante la revisione degli standard di codifica di WordPress.


Gli standard di codifica di WordPress

In generale, lo scopo di questa intera serie è quello di aiutare a portare luce agli standard di codifica di WordPress in modo che coloro che non ne hanno mai sentito parlare, coloro che non ne sono a conoscenza o che non li hanno seguiti sono meglio attrezzati per scrivere Temi, plugin e applicazioni WordPress.

Per fare questo, abbiamo approfondito una serie di aspetti diversi degli standard di codifica in sei diversi articoli, evidenziando i principi, le migliori pratiche e le cose da evitare.

Di seguito, abbiamo riepilogato ciascuno degli articoli, nonché i punti elenco che sono punti chiave e che vale la pena notare per l'argomento in questione. Ovviamente, se ti manca più informazioni, puoi tornare all'articolo della serie (collegato all'inizio di questo post) per leggerlo per intero.

1. Convenzioni di denominazione e argomenti di funzione

Convenzioni di denominazione

Quando lavori con classi, funzioni, variabili, attributi o argomenti, le convenzioni di denominazione dovrebbero aiutare a spiegare lo scopo che servono.

Ad esempio, le classi sono generalmente nomi e i nomi di funzioni sono normalmente verbi. In definitiva, si tratta di assicurarsi che il codice sia leggibile e mantenibile.

Direttamente dagli standard di codifica:

Non abbreviare i nomi delle variabili non necessariamente; lascia che il codice sia inequivocabile e auto-documentante.

Ma questo particolare principio vale la pena di seguirlo senza riguardo di dove nel codice stai lavorando.

Argomenti della funzione

Ricorda che quando si tratta di passare argomenti di funzione, è importante ricordare che se un nome di funzione descrive l'azione che prende nel contesto della classe, allora l'argomento dovrebbe rappresentare su ciò che la funzione sta effettivamente operando.

Preferisci valori di stringa a solo vero e falso quando si chiamano funzioni.

Ciò significa che gli argomenti della funzione dovrebbero essere valori chiari - stringhe o numeri - poiché i valori booleani sono spesso poco chiari e non indicano necessariamente quale azione verrà eseguita dalla funzione.

2. L'uso di singole virgolette e doppie virgolette

Quando si tratta di lavorare con le stringhe in WordPress, si tratta in genere di lavorare all'interno delle sfumature della manipolazione delle stringhe di PHP. Pertanto, in questo articolo abbiamo esaminato il modo in cui PHP gestisce le virgolette (sia singole che doppie) e il modo in cui influisce sul nostro sviluppo di WordPress.

Citazioni singole

Il modo più semplice per definire una stringa in PHP è racchiuderlo tra virgolette singole (cioè il 'carattere').

Come con la maggior parte dei linguaggi di programmazione, lì siamo modi per sfuggire ai caratteri in modo da poter scrivere una stringa letterale. Ad esempio, se si desidera scrivere: "String's in PHP is easy", come stringa, è possibile eseguire questa operazione:

'String \' s in PHP sono facili. '

I backslash istruiranno PHP a scrivere la singola virgoletta anziché terminare la stringa vera e propria. La seconda cosa da notare è che se si dispone di una variabile, lo sarà non sostituito quando citato tra virgolette singole.

Virgolette

Le virgolette funzionano in modo leggermente diverso all'interno di PHP. In particolare:

Se la stringa è racchiusa tra virgolette ("), PHP interpreterà più sequenze di escape per caratteri speciali.

Ciò significa che se si incorpora una variabile all'interno di una stringa PHP con virgolette doppie, la variabile verrà interpretata e il suo valore verrà inserito al posto della variabile prima di visualizzarlo sullo schermo.

Archi e WordPress

Poiché gran parte del lavoro svolto in WordPress include anche la scrittura del markup entro una stringa PHP, è meglio posizionare tali stringhe tra virgolette singole in modo che gli attributi dell'elemento HTML possano essere racchiusi tra virgolette doppie.

Ma ci sono momenti in cui è preferibile usare le virgolette doppie particolarmente quando hai bisogno di valutare una variabile.

Il miglior consiglio che può essere offerto qui è sapere come le virgolette singole e le doppie virgolette funzionano in PHP, e quindi usarle in modo appropriato in base al tuo caso d'uso.

3. Spazi di indentazione, spazio utilizzabile e finali

Ricorda: lo spazio bianco migliora la leggibilità del codice e, come sviluppatori, uno dei nostri obiettivi principali dovrebbe essere quello di assicurarsi che il codice che stiamo scrivendo non stia solo seguendo uno standard predefinito, ma sia adatto anche ad altri sviluppatori per facilità di leggibilità e manutenibilità.

dentellatura

Per quanto riguarda l'indentazione, non c'è nulla di veramente nuovo, specialmente se si ha familiarità con i linguaggi in stile C. La maggior parte delle volte, indentri ogni volta che inizi un nuovo blocco.

  • Le tue funzioni saranno rientrate all'interno della classe
  • I tuoi condizionali e interruttore / casi e altri blocchi saranno rientrati nelle loro funzioni
  • I tuoi loop saranno rientrati all'interno delle loro funzioni, all'interno dei loro condizionali e così via

Si noti che gli standard di codifica fare avere regole su schede e spazi:

La tua indentazione dovrebbe sempre riflettere la struttura logica. Uso schede reali e non spazi, in quanto ciò consente la massima flessibilità tra i clienti.

Questo è particolarmente utile nella comunità open source.

Utilizzo dello spazio

Gli spazi devono essere collocati nei seguenti luoghi:

  • Dopo le virgole
  • Da entrambi i lati degli operatori logici (cioè, ||&&, e !)
  • Da entrambi i lati degli operatori di confronto (ovvero, <>=====, eccetera.)
  • Su entrambi i lati degli operatori incaricati (vale a dire =)
  • Su entrambi i lati della parentesi aperta e chiusa di funzioni, condizionali, cicli e così via.
  • Quando una variabile viene passata come indice di un array, ma non quando un valore letterale (come una stringa o un intero)

Trailing Spaces

Questa è una delle più semplici convenzioni da seguire. Onestamente, è probabile che il tuo IDE o editor di scelta abbia questa funzione integrata, oppure è disponibile un plug-in che ti permetterà di farlo automaticamente.

In caso contrario, dovresti essere in grado di attivare la possibilità di visualizzare schede, spazi, ritorni a capo e così via in modo da poter identificare facilmente dove gli spazi finali sono. E quando li vedi, eliminali.

4. Stile di parentesi, espressioni regolari e tag PHP

In questa sezione, abbiamo dato un'occhiata al motivo per cui lo stile è importante. Abbiamo anche definito esattamente come si definiscono gli standard di codifica e le convenzioni Come modelliamo il nostro codice.

Brace Style

In generale, le regole sono semplici:

  • I blocchi a riga singola possono tralasciare le parentesi
  • I blocchi multilineari devono sempre includere parentesi graffe
  • Quando si dispone di condizionali multilinea eccessivi, prendere in considerazione la possibilità di suddividere i condizionali nelle proprie funzioni per minimizzare il blocco

Sono particolarmente comuni se provieni da altri linguaggi in stile C; tuttavia, proprio come WordPress ha sfumature sottili che altri linguaggi no, vale la pena evidenziarli qui.

Espressioni regolari

PHP offre una varietà di modi per lavorare con le espressioni regolari, anche se WordPress raccomanda di utilizzare solo una manciata delle funzioni disponibili.

Le regole per lavorare con le espressioni regolari in PHP in WordPress sono le seguenti:

  • Utilizzare il preg funzioni che PHP offre
  • Non usare il \ e switch che viene offerto da PHP - usa preg_replace_callback anziché.

In particolare, consiglio di conoscere le seguenti funzioni:

  • preg_replace
  • preg_match
  • preg_match_all

Inoltre, si noti che preg_replace_callback è un modo per chiamare una funzione quando un'espressione regolare ha trovato una corrispondenza.

Tag PHP

C'è una semplice regola empirica per l'utilizzo di tag PHP all'interno dello sviluppo di WordPress:

  • Non usare mai tag PHP abbreviati

Ciò significa che non devi mai aprire un file o un'istruzione PHP in linea con  o con . Naturalmente, tutte le istruzioni PHP inline devono essere terminate con ?> tag di chiusura.

Oltre allo standard di codifica sopra definito, aggiungerei anche:

  • Evita di aggiungere un tag PHP di chiusura in file PHP puri.

La ragione di ciò è stata citata testualmente nell'articolo associato:

Ma se stai scrivendo un plugin o un file di applicazione che è al 100% PHP, non c'è bisogno di aggiungere un tag di terminazione alla fine del file. Il parser sarà in grado di rilevarlo da solo, e se tu fare includi un tag di chiusura, quindi puoi potenzialmente avere uno spazio vuoto alla fine del file che può chiamare tutti i tipi di problemi quando arriva il momento di attivare il plugin.

5. L'operatore ternario e le condizioni Yoda

Quando si tratta di scrivere codice basato su WordPress, gli standard di codifica dicono che dovremmo sforzarci per la leggibilità:

In generale, la leggibilità è più importante dell'abilità o della brevità.

Alcuni sviluppatori considerano l'operatore ternario un po 'in disaccordo con questo particolare principio, in particolare perché è ancora un altro modo di scrivere un se altro dichiarazione. Ancora immobile, l'operatore ternario è un'opzione percorribile quando si tratta di scrivere condizionali semplici e si afferma negli standard di codifica di WordPress.

L'operatore ternario

Innanzitutto, per chi non ha familiarità, l'operatore ternario è un modo semplificato di scrivere un se altro dichiarazione condizionale. Viene in genere utilizzato solo quando il condizionale è della forma più semplice e solo quando c'è un singolo Se e un singolo altro bloccare.

 $ uses_gasoline = 'hybrid' == $ car_type? falsa verità; echo $ uses_gasoline;

Una cosa importante da notare: l'operatore ternario sta testando per vero (piuttosto che falso, ovviamente).

Condizioni di Yoda

Le condizioni Yoda si riferiscono all'inversione dei confronti variabili a valori che eseguiamo durante la scrittura del codice WordPress. Noi questo, secondo gli standard di codifica, perché:

Nell'esempio sopra, se ometti un segno di uguale (ammettilo, succede anche al più esperto di noi), avrai un errore di analisi, perché non puoi assegnare a una costante come vero. Se la dichiarazione fosse il contrario ($ the_force = true), l'incarico sarebbe perfettamente valido, tornando 1, causando la dichiarazione if da valutare vero, e potresti essere a caccia di quel bug per un po '.

Certo, è discutibile, ma è così è parte dello standard e tu siamo andando a vedere questo usato attraverso core di WordPress, temi, plugin, articoli e altro ancora.

6. Query di database e query SQL di formattazione

Quindi, in breve, se l'API non soddisfa ciò di cui hai bisogno, allora $ wpdb potrebbe essere la tua migliore opzione, ma ti consiglio di usarla solo se hai esaurito il resto delle tue opzioni.

Query di database

In WordPress, ci sono un certo numero di API che ci permettono di creare le nostre query senza dover scrivere SQL. Alcune di queste API includono:

  • WP_Query
  • WP_User_Query
  • get_post_meta
  • get_comment_meta
  • get_user_meta
  • … e tanti altri.

È importante familiarizzare con ciò che l'API offre in modo che tu sia in grado di sapere se c'è o meno una funzione o un oggetto disponibile da usare prima di saltare a scrivere le tue query.

Query SQL

Le API non possono prevedere tutti casi in cui è necessario scrivere le nostre query sul database. E in quelle situazioni, WordPress fornisce un oggetto che ci permette di interagire direttamente con il database: $ wpdb.

Ci consente di:

  • SELEZIONARE variabili, righe, colonne e risultati generici
  • INSERIRE righe
  • AGGIORNARE righe esistenti

E ci permettono di recuperare i dati in un formato che ci piacerebbe molto lavorare: un array, un oggetto o un singolo valore (in alcuni casi), e ci permette persino di proteggerci attraverso l'iniezione SQL.

Ma ricorda:

Se devi toccare il database, contatta alcuni sviluppatori inviando un messaggio alla mailing list di wp-hackers. Potrebbero voler prendere in considerazione la creazione di una funzione per la prossima versione di WordPress per coprire la funzionalità desiderata.


Conclusione

Come ho detto prima, può essere difficile stare al passo con una serie di articoli, particolarmente quelli che coinvolgono il codice. A tal fine, ho voluto sperimentare fornendo un riassunto della serie che fornisce ancora informazioni sufficienti a coloro che non hanno avuto la possibilità di tenere il passo con l'intera serie, ma che sono ancora interessati agli argomenti a portata di mano.

Quindi, se questa particolare strategia o tipo di articolo è qualcosa che ti piace, fammi sapere e forse possiamo continuare a farlo per altre serie; altrimenti, nessun danno, nessun fallo - sto bene in ogni caso.

Indipendentemente da ciò, spero che la serie abbia contribuito a spiegare un certo numero di aree diverse degli standard di codifica di WordPress che in precedenza non avevi capito, frainteso o che non avevi completamente bocciato fino a leggere questi articoli.