Italian (Italiano) translation by Piergiorgio Sansone (you can also view the original English article)
Se
siete stati colpiti da questa serie, allora senza dubbio sapete che stiamo
guardando i concetti della programmazione orientata agli oggetti dalla
prospettiva del principiante.
In particolare, stiamo affrontando il tema per coloro che vogliono familiarizzare con il paradigma, ma anche con il modo di applicare i concetti nel contesto di WordPress; tuttavia, prima di entrare nel mondo del lavoro con laprogrammazione orientata agli oggetti e WordPress,dobbiamo creare le basi utilizzando le caratteristiche di base che PHP mette a disposizione.
In definitiva, stiamo lavorando verso la creazione di un esempio pratico di programmazione orientata agli oggetti con la creazione di un plugin per WordPress. Ma prima di farlo, ci sono un paio di cose che dobbiamo discutere.
Se questa è la prima volta che la lettura di questa serie, poi mi consiglia di verificare gli articoli precedenti come ogni articolo di questa serie si basa su quella precedente. Se, d'altra parte, sei una persona che ha più familiarità con la programmazione orientata agli oggetti, quindi potresti voler rivedere la serie una volta nella fase applicativa pratica .
Fino adesso, abbiamo trattato i seguenti argomenti :
In questo articolo concluderemo la nostra discussione in merito le strutture di controllo focalizzandoci su alcuni tipi di ciclo che PHP mette a disposizione.
Un ripasso delle Strutture di Controllo
Se avete letto il precedente articolo, allora vi ricordate che "le strutture di controllo" si riferiscono a costrutti che vengono forniti dal linguaggio (nel nostro caso, PHP), che ci permettono di modificare il flusso del codice per tutto il programma sulla base di una serie di condizioni.
Nell'ultimo articolo, abbiamo visto come possiamo fare questo attraverso l'uso di istruzioni condizionali che sono dichiarazioni che costringono il programma lungo un percorso di esecuzione sulla base di un condizione (ad esempio se una variabile è impostata, se una condizione è vera , Eccetera).
Cicli
Ma non è l'unico tipo di controllo che abbiamo. Oltre alle strutture condizionali, abbiamo la possibilità di scorrere (o ciclo) attraverso insiemi di dati in modo da poter intervenire su ogni elemento in un insieme di dati. Siamo in grado di aggiungere dati, rimuovere i dati, visualizzare i dati, ordinare i dati, e molto altro.
Ad esempio, supponiamo di avere un insieme di dati, forse un set di 10 post, e che vogliamo scorrere e stampare il titolo e la data di ogni post. I cicli ci consentono di farlo.
Qualunque cosa è che si sta cercando di fare, ci sono quattro tipi di cicli che PHP prevede che ci permettono di scorrere insiemi di dati. In questo articolo, vedremo degli esempi , così come alcune sfumature di ognuno, in modo tale da avere ancora un altro set di strutture di controllo che potremmo utilizzare quando arriverà il momento di iniziare a scrivere codice orientato agli oggetti.
Il Ciclo for
Il ciclo for
è spesso considerato tra i più complessi a causa della natura di come si scrive il codice. Il flusso si legge in modo leggermente innaturale.
In genere, siamo abituati a scrivere codice linea per linea in modo tale che ogni istruzione sia impostata su una sola riga;tuttavia,
con cicli for
, abbiamo un approccio leggermente diverso. In
primo luogo, vediamo un esempio di base, e poi
vedremo un approccio più dettagliato.
Ecco un esempio di base, che conterà fino a 10 e verrà visualizzato ogni numero sullo schermo, vediamo come lo fa:
for ( $i = 0; $i < 10; $i++ ) { echo $i; }
Nella prima riga del ciclo (tra parentesi dopo l'istruzionefor
), stiamo facendo quanto segue:
- l'inizializzazione di una variabile
$i
e impostarla uguale a zero - Impostazione di una condizione per questo continui a funzionare mentre
$i <10
- incrementando
$i
dal valore 1 (utilizzando l'operatore di post-incremento) dopo ogni iterazione
Nel corpo del ciclo, stiamo semplicemente utilizzando funzione echo
di PHP per stampare il valore corrente di $i
. Come il ciclo elabora le istruzioni, vedremo 0-9 stampati sullo schermo (da quando stiamo iniziando da zero e in esecuzione mentre $i
è minore di 10).
Persone diverse hanno diverse tecniche di leggere il codice, per cui la strategia che ho intenzione di raccomandarvi potrebbe non essere la migliore per voi, ma quando leggo questo tipo di cicli, normalmente li leggo come questo:
Con $i impostato a 0, mentre $i è minore di 10, eseguo il corpo del ciclo, incrementando $i di 1
Il punto è che $i
può iniziare con qualsiasi valore,posso contare per un valore arbitrario e può essere incrementato di qualsiasi valore.
Più è il lavoro che facciamo con i cicli for
, maggiore sarà la probabilità di eseguire poche cose che possano ottimizzare la performance. Per ora, tuttavia abbiamo visto le basi del Ciclo, mentre le tecniche più avanzate sono leggermente fuori dallo scopo di questo particolare articolo.
Ciclo foreach
i cicli foreach
sono simili ai cicli for come loro scorrono un set di dati , ma lo fanno sequenzialmente. Questo significa che non c'è un modo semplice di scorrere ogni,diciamo,due elementi in una lista (come si può con, diciamo, $i + 2
in for
).
Questo
tipo di ciclo è senza dubbio il più leggibile. Per il
nostro esempio, supponiamo di avere una matrice e la matrice di dati contiene i
seguenti nomi: Alpha,
Bravo, Charlie, Delta, Echo, e Foxtrot. Il nome della matrice è memorizzato in una variabile denominata $names
.
In questo caso possiamo impostare il ciclo foreach
per iterare attraverso i nomi e visualizzare ogniuno di essi sullo schermo cosi :
$names = array( 'Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot' ); foreach ( $names as $name ) { echo $name; }
Abbastanza facile da impostare , non è vero?
Proprio come abbiamo condiviso un modo di leggere il primo ciclo for
nella sezione precedente, è possibile leggere il ciclo foreach
nel modo seguente:
Per ciascun nome nella raccolta di nomi, visualizzalo sullo schermo
O, forse, più in generale :
Per ogni elemento presente nella lista, visualizzalo sullo schermo.
Niente altro?
C'è un altro aspetto per
il ciclo foreach
che possiamo vedere in dettaglio più avanti nella serie, ma l'idea principale è che se si ha familiarità con array associativo,cioè, le matrici che sono indicizzate con una chiave e
che hanno un valore associato, è possibile impostare un ciclo foreach
per recuperare ogni chiave e valore per ogni iterazione del ciclo.
Per esempio, diciamo che abbiamo il seguente array associativo:
$heroes = array( 'alien' => 'Superman', 'human' => 'Batman' );
Quando utilizziamo un array associativo come questo, possiamo anche impostare il ciclo foreach
in questo modo :
foreach ( $heroes as $type => $name ) { echo $name . ' is a ' . $type; }
Questo risulterà nell'output leggendo qualcosa come 'Superman è un alieno' perchè 'Superman' è il valore e 'alieno' è il suo tipo (o la sua chiave).
La forma più generica di questo ciclo è la seguente:
foreach ( $collection as $key => value ) { // Work goes here }
Niente di terribilmente complicato.
I Cicli While
Trattate le variazioni del ciclo for
, è arrivato il momento di rivolgere la nostra attenzione ai cicli While
, del quale esistono due varianti (anche se vengono chiamate in modi differenti : cicli While
e cicli do
), differiscono in maniera minore.
Ma prima di vedere in cosa differiscono , diamo un occhiata al ciclo while
, il formato base, come usarlo e come comfrontarlo con li ciclo for
precedente.
Innanzitutto, il formato base del ciclo while
è il seguente:
while ( condition ) { // do work }
Nota che questo ciclo, differisce dai cicli visti in precedenza per il fatto che accetta una condizione come parte della dichiarazione iniziale (per questo abbiamo trattato le condizioni nel nostro precedente articolo).
Il ciclo lavora sin dal primo controllo per verificare se la condizione è vera, esegue il blocco di codice nel corpo del ciclo, e verifica ancora le condizione. Questo significa che i cicli while
possono eseguire qualsiasi unità di lavoro fino a quando la condizione specificata restituisce true
Quindi, certo, potete scorrere una lista di numeri, oppure un insieme di dati, ma potete anche fare altre cose , mentre ad esempio un valore boleano è ancora true. Fino a che non cambia la condizione e la bandiera diventa false, allora il ciclo while termina.
Vediamo un esempio, in cui stiamo utilizzando una funzione PHP pop_array per estrarre gli elementi di una matrice. Supponiamo che la matrice iniziale dispone di 100 elementi e che continueremo ad eseguirla fino a che la matrice non supera i 50 elementi:
while ( 50 !== count ( $elements ) ) { array_pop( $elements ); }
Qui, la condizione continuerà ad essere true fino a che il numero degli oggetti contenuti nella matrice $elements
non sarà arrivata a 50 elementi.
Come fatto per i cicli precedenti, questo è un modo in cui puoi leggere il ciclo while
:
Mentre questa condizione è true, esegui il codice seguente.
Naturalmente, è così che su di esso appare nel codice in ogni caso, non è vero?
I Cicli do
Infine, i cicli do
sono quasi esattamente come i cicli while
ad eccezione del fatto che sarà necessario scorrere almeno una volta prima di verificare la condizione.
Prima di dare un occhiata ad un esempio, vediamo la struttura base del ciclo do
:
do { // do work } while ( condition );
Relativamente chiaro, giusto?
Dunque cerchiamo di impostare un esempio molto semplice, che crei una matrice e la popoli con i soli numeri pari. Per fare questo abbiamo bisongo di :
- una matrice per tenere i numeri
- una variabile per tenere il conto di quante volte scorreremo 100 numeri pari.
Detto questo, quando imposterete il codice, questo sarà cosi:
$i = 1; $even_numbers = array(); do { if ( 0 === ( $i % 2 ) ) { $even_numbers[] = $i; } $i++; } while ( $i <= 100 );
Infine, come per gli altri clicli, potete leggere questo tipo di cicli nel modo seguente :
Esegui il seguente blocco di istruzioni, quindi verifica che la seguente condizione sia vera. Se lo è, continua .
Nient'altro ?
Quando si eseguono dei cicli do
, se state lavorando con una matrice (collection) assicuratevi che non sia vuota prima di eseguire il ciclo, perchè verrebbe eseguito il blocco d'istruzioni all'inteno del ciclo prima di eseguire il controllo sulla condizione. Questo genererebbe un errore se provate a lavorare su un set di dati che risultasse vuoto.
Certamente, se questo è ciò che avete intenzione di fare, allora uno degli altri cicli è bene che sia ottimizzato per questo tipo di operazioni.
Utilizzi il ciclo do
, solo quando hai in set di dati o devi eseguire una procedura che sai deve essere eseguita almeno una volta prima di controllare la condizione che indica il numero di esecuzioni che devono esser fatte.
Cosa vedremo dopo ?
Detto questo , abbiamo impostato tutto il necessario per avviare una discussione sulle funzioni , gli attributi , lo scopo e tutti gli altri aspetti fondamentali della programmazione orientata agli oggetti.
Dunque per coloro che hanno sentito che questa serie è stato più o meno un tour nei principi fondamentali di PHP , nel prossimo articolo ci muoveremo in un territorio leggermente più avanzato.
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post