Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Programmare ad Oggetti con Worodpress : Strutture di Controllo II

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Object-Oriented Programming in WordPress.
Object-Oriented Programming in WordPress: Control Structures I
Object-Oriented Programming in WordPress: Functions and Attributes

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 :

  1. l'Introduzione
  2. Le Classi
  3. I Types
  4. Le Strutture di Contrillo : Le istruzioni condizionali

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:

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 :

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:

Quando utilizziamo un array associativo come questo, possiamo anche impostare il ciclo foreach in questo modo  :

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:

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:

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:

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:

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:

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.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.