Programmazione orientata agli oggetti in WordPress tipi

Per coloro che stanno appena iniziando questa serie, si noti che stiamo dando un'occhiata alla programmazione orientata agli oggetti usando PHP nel contesto di WordPress.

Il pubblico target

Lo stiamo facendo dal punto di vista del molto principiante, quindi se sei uno sviluppatore esperto o hai familiarità con molti aspetti della programmazione orientata agli oggetti, allora questa serie probabilmente non fa per te.

Detto questo, se tu siamo interessati a imparare la programmazione orientata agli oggetti in PHP e ti consideri un principiante, quindi continueremo la serie in questo articolo parlando di alcuni dei tipi di dati che PHP offre.

Ma prima, assicurati di aver raggiunto gli articoli precedenti della serie mentre ciascuno si costruisce uno sull'altro:

  1. introduzione
  2. Classi

Una volta che vieni raggiunto, possiamo iniziare a parlare di tipi.

Quali sono i tipi?

Abbiamo terminato l'ultimo articolo con il seguente:

Ci arriveremo, ma prima dobbiamo discutere alcuni aspetti più primitivi della programmazione come stringhe, matrici, loop e condizionali.

Ora, stringhe, array e così via sono quelli che consideriamo tipi. Loops e conditionals sono le cosiddette strutture di controllo che tratteremo nel prossimo articolo.

Quindi, nel frattempo, facciamo un termine semplice per ciò che rappresenta un tipo di dati in modo che sappiamo come modellarli concettualmente in avanti non solo con questo articolo, ma con il resto del contenuto della serie.

Per chiunque abbia scritto qualunque codice che include variabili, quindi probabilmente ti è sembrato qualcosa di simile al seguente:

  • $ name = 'Tuts + WordPress';
  • $ is_active = true;
  • $ età = 42;
  • … e così via.

Nella forma più semplice, probabilmente ascolterai il codice sopra definito come variabili con definizioni, e questo è corretto, ma è una definizione molto generalizzata.

Vedete, ogni volta che definite una variabile in PHP, voi così anteponendo la variabile a $. Ciò consente a PHP di sapere che stai definendo una variabile e che rappresenterà un valore tipico.

Abbastanza facile, giusto?

Il fatto è che ci sono diversi tipi in PHP. Per coloro che provengono da quelle che sono conosciute come "lingue fortemente tipizzate", ne parleremo più a breve, ma sappiamo che PHP offre i seguenti tipi di dati:

  • booleani
  • interi
  • numeri in virgola mobile
  • stringhe
  • array
  • oggetti
  • ... e altro ancora

Tutto, dai booleani alle stringhe, può essere pensato come un semplice tipo di dati dove come matrici e oggetti possono essere considerati tipi di dati più complessi.

Tipi di dati semplici

I tipi di dati semplici sono definiti come tali perché i dati che rappresentano sono, lo sai, semplice. Vale a dire che normalmente cadrà sotto la bandiera di vero, falso, decimali, e parole e / o frasi.

Per dare esempi concreti di ciascuno dei precedenti:

  • I valori booleani sono intesi per contenere il valore di vero o falso.
  • Gli interi si riferiscono a qualsiasi numero intero. Ciò significa che non include componenti frazionari o decimali. Questo include numeri come -12, -2, 1, 100, 5000, e così via.
  • I numeri in virgola mobile sono un po 'l'opposto dei numeri interi in quanto essi fare rappresentano valori con parti frazionarie. Quindi, per esempio, puoi vedere 3,1459, 2.5, 100.25, e così via. Se dovessi provare a salvare il valore di, per esempio, 3/4 allora in realtà salvi .75 salvo che l'hai salvato come una stringa. Cioè, dovevi salvare '3/4'. Si noti la sottile delineazione tra i due? Uno ha citazioni e l'altro no.
  • A proposito di stringhe, le stringhe rappresentano una singola parola o un insieme di caratteri alfanumerici che costituiscono una serie di lettere e numeri. Questa può essere una singola parola, può essere una frase, può essere una frase e può essere una serie casuale di caratteri come una stringa crittografata. Esempi di stringhe includono 'frasi come queste' o un singolo 'parola' o anche qualcosa di più complesso come 'E952098vjdkw94kd'

Ecco il trucco, tuttavia: qualsiasi tipo di dati sopra può essere convertito in stringhe racchiudendole tra virgolette.

Ma c'è una presa

Ad esempio, se dovessi lavorare con il valore booleano di, diciamo, true, ma dovresti memorizzarlo in una variabile come questa: $ is_active = 'true'; allora hai appena creato una stringa che legge vero.

Allo stesso modo, se dovessi scrivere una stringa che legge $ età = '42'; allora hai creato una stringa contenente il numero 42non un numero intero.

Ha senso?

La ragione per cui questo è importante perché quando arriva il momento di lavorare con le strutture di controllo, che rivedremo nel prossimo articolo, è che a volte il paragone può avere conseguenze indesiderate se non sei sicuro quale tipo di dati con cui stai lavorando.

Tipi di dati complessi

Oltre ai semplici tipi di dati, abbiamo anche tipi di dati complessi che, a mio parere, non sono realmente quello complicato. In effetti, lo considero un modo elegante per dire che abbiamo modi di memorizzazione più informazioni in una singola variabile; mentre, con tipi semplici, abbiamo un modo per memorizzare singole informazioni in una singola variabile.

Abbastanza facile da ricordare, giusto? Quindi quali sono alcuni dei tipi di dati più complessi?

I due principali tipi di dati complessi su cui ci concentreremo in questa serie come matrici e oggetti. Ce ne sono altri, ma sono al di fuori dell'ambito di questa serie, quindi se sei interessato, allora sentiti libero di dare un'occhiata al manuale PHP, ma ti avverto: se sei un principiante assoluto, il contenuto potrebbe sembrare un po 'travolgente.

  • Gli array sono modi per memorizzare più informazioni in una raccolta. Considera, per un momento, di avere un insieme di nomi che desideri archiviare in una raccolta chiamata giustamente $ nomi. In PHP, devi definire una matrice e assegnarla a una variabile come questa: $ names = ['John', 'Paul', 'Ringo', 'George']; Si noti qui che abbiamo una serie di stringhe, ma un altro aspetto degli array PHP è che possono contenere più tipi di dati. Ciò significa che puoi avere una matrice che assomiglia $ various_types = [42, TRUE, 'Star Wars', .007];. Un po 'freddo, giusto?
  • Gli array associativi sono come gli array standard che vediamo, tranne per il fatto che sono costituiti da coppie di valori chiave. Ciò significa che ogni valore viene recuperato da una chiave, quindi se dovessimo convertire il primo array in un array associativo, allora potrebbe essere qualcosa del genere: array ('rhythm-guitar' => 'John', 'bass' = > 'Paul', 'lead-guitarist' => 'George', 'drums' => 'Ringo'); Se il formato sembra strano ora, non preoccuparti! Daremo un'occhiata a questi in modo molto più dettagliato più avanti nella serie. Il take away primario è che gli array standard sono numericamente indice - cioè, 0, 1, 2, 3, e così via - e gli array associati sono indicizzati con le loro chiavi come 'chitarra ritmica', 'drums', e così via.
  • Gli oggetti, che abbiamo toccato l'ultima volta, sono senza dubbio il più complesso dei tipi di dati offerti da PHP perché sono una combinazione di qualunque cosa. I loro attributi sono costituiti da tipi di dati o anche da altri oggetti, sono funzioni e eseguono operazioni non solo su altri tipi di dati semplici, ma anche su tipi di dati complessi.

Per quanto riguarda gli oggetti, il modo migliore per vedere quanto possono essere complessi è vederli in azione, cosa che faremo sicuramente quando costruiremo un plugin.

Una nota sugli array

Nota che in alcune lingue, la dimensione dell'array deve essere dichiarata prima che tu possa effettivamente usarla. Ad esempio, in C, devi dire al compilatore che la matrice conterrà esattamente, per esempio, 10 valori.

Nel caso di PHP, questo è non il caso. L'array di PHP è dinamico e significa che puoi continuare ad aggiungere dati all'array senza dover aumentare le sue dimensioni. Sì, come con qualsiasi cosa, ci sono dei limiti, ma di solito è correlato alla dimensione dei dati che vengono memorizzati, o alla quantità di memoria che una macchina ha a disposizione.

Non lasciare che le frasi ti intimidiscano!

Ma per il momento, non lasciare che le parole semplicecomplesso intimidirti. Certo, "semplice" è relativamente semplice, giusto? Ma "complesso" ha questa connotazione che sarà difficile da capire, e non è vero - speriamo che questo articolo sia dimostrato che.

I tipi di dati complessi possono contenere facilmente più porzioni di dati. I tipi di dati semplici non possono.

Ci sono di più?

Si ci sono. Vale a dire risorse, callback e pseudo-tipi. La maggior parte di questi sono fuori dallo scopo di questa particolare serie; tuttavia, noi potrebbe finiscono per usare i callback (che sono un certo tipo di funzioni) più avanti quando iniziamo a costruire il nostro plugin.

Sentiti libero di leggerli il più possibile, ma sappi che sono oltre lo scopo del contenuto che copriremo attraverso questa particolare serie, quindi se ti senti sopraffatto da loro, forse rivisitali una volta che la serie è completa.

Una parola sulle lingue fortemente tipizzate

Alcuni linguaggi di programmazione sono conosciuti che sono digitati in modo dinamico (o debolmente tipizzati) mentre altri sono noti come lingue fortemente tipizzate.

Questo è un altro caso in cui la terminologia spesso intimidisce i nuovi programmatori piuttosto che autorizzarli a sapere come utilizzare gli strumenti disponibili, ma il fattore distintivo tra i due è davvero piuttosto semplice:

  • Linguaggi fortemente tipizzati significa che le variabili devono prima essere dichiarate come un certo tipo e possono solo contenere un determinato tipo di dati. Ad esempio, se volessi tenere una stringa, dichiarerei la variabile come stringa sMyName; Quindi, vorrei memorizzare una stringa nella variabile. sMyName = 'Tom McFarlin';. Ciò significa che il sMyName lattina variabile solo tenere le corde. Se si tenta di memorizzare un altro tipo di dati in quella variabile, il compilatore genererà un errore.
  • Le lingue tipizzate dinamicamente, come PHP, consentono a una singola variabile di contenere più tipi in qualsiasi punto di esecuzione. Nell'usare l'esempio sopra, potrei usare come facilmente dire$ my_name = 'Tom McFarlin'; come potrei $ my_name = false.  Se si tenta di memorizzare un altro tipo di dati in quella variabile, allora funziona correttamente. Potete vedere che questo ha sia vantaggi che svantaggi.

Dove andare?

Prima di tornare al mondo della programmazione orientata agli oggetti, dobbiamo parlare di alcune strutture di base aggiuntive di programmazione come le strutture di controllo. 

Questi includono cose come loop, condizionali e così via che possono influenzare il flusso di codice per tutta la durata del programma. Inoltre, lavorano in stretta collaborazione con i tipi di dati che abbiamo delineato qui.

Quindi, prima di passare al prossimo articolo, assicurati di rivedere tutto ciò che sta accadendo qui, di lasciare commenti, domande e feedback nel feed dei commenti.

 Ci vediamo nel prossimo articolo!