Ed eccoci qui, dopo diverso tempo dall’ultima lezione di php, a trattare la sesta lezione di questo corso. Lezione in cui compiremo svariati passi in avanti, che ci porteranno a poter sviluppare, come è possibile leggere anche dal titolo, un progetto su più sorgenti diversi, quindi su più file differenti ed inoltre realizzare delle nostre funzioni.
Non perdiamo ulteriore tempo ed iniziamo subito
Fino a questo momento, abbiamo realizzato i nostri piccoli progetti, se così si possono definire, dato che sono veramente molto basilari, in un unico file.
Questa tecnica è molto utile e va bene nei progetti piccoli, che abbiamo appena visto. Ma quando un nostro progetto diventa sempre più ampio, è necessario dividerlo in più file per svariati motivi che andremo subito ad elencare.
Suddivisione del problema
Un progetto, più diventa grande, più è strutturato in modo complesso. Questo significa che sviluppare il progetto in un unico file sia di difficile implementazione e di gestione. Immaginiamo di dover aggiornare un programma da centinaia di migliaia di righe di codice. Secondo me, e penso che anche tu condividerai il mio pensiero, è più semplice gestire un progetto suddiviso in tanti sottoprogrammi diversi, definiti script in php, in cui ogni script ha un compito specifico. Suddividendo una piattaforma in script differenti, è più semplice gestire un progetto in cui ogni script, facendo un compito specifico e solo quello, si va a modificare in modo mirato una determinata parte, andando quindi ad applicare dei cambiamenti in parti veramente mirate, in modo tale da ridurre la difficoltà dell’intervento e il tempo necessario a fare tutto questo.
Questa suddivisione di un problema, ovvero divisione di un programma, per quanto riguarda un progetto sviluppato in php, significa dividere lo stesso programma in problemi più piccoli, chiamati script, che dovranno comunicare tra di loro, per raggiungere uno scopo finale, ovvero far funzionare l’intero programma.
Suddividendo il tutto in tanti script, è possibile quindi usare un determinato script in tanti programmi differenti. Questa tecnica, di riutilizzo del codice sorgente, viene chiamata riciclo del codice, e permette al programmatore di risparmiare davvero molto tempo e molta fatica.
La pratica di tutto questo, la vedremo nel corso della lezione. Per il momento, proseguiamo con la parte teorica.
Le funzioni
Nel corso delle scorse lezioni abbiamo usato diverse funzioni già pronte all’uso. Le funzioni utilizzate erano già incluse nel pacchetto base della propria versione php installata nel proprio server.
Ovviamente queste funzioni non basteranno mai per risolvere tutti i problemi del mondo. Ecco che allora entra la possibilità di realizzare delle funzioni tutte nostre, pronte a rispondere in modo mirato, alle nostre esigenze.
Vediamo un piccolo esempio pratico
Ci sono molti elementi nuovi in questa sintassi. Vediamoli insieme.
Per prima cosa abbiamo realizzato una funzione chiamata areaRettangolo, che come dice il nome, serve per calcolare l’area di un rettangolo.
Per creare una nuova funzione, bisogna usare la keyword function, seguita dal nome della funzione che si vuole realizzare. Il nome della funzione può essere qualsiasi, ce lo dobbiamo inventare noi. L’importante è che rispetti le stesse regole sintattiche, che ci sono nell’assegnamento dei nomi nelle variabili.
Subito dopo il nome della funzione, all’interno delle parentesi tonde, vanno inseriti tutti i valori richiesti. Ovviamente, dato che i valori non li conosciamo, dato che questa funzione calcola l’area di un qualsiasi rettangolo, immettiamo le variabili che conterranno i rispettivi valori. Quindi come base, vi andremo a mettere il valore della base e come altezza, ovviamente il valore dell’altezza.
Subito dopo questa sintassi, tra parentesi graffe, vi è il blocco di istruzioni, ovvero tutto ciò che dovrà fare questa funzione. In questo caso, semplicemente dovrà calcolare l’area di un rettangolo.
La parola chiave return utilizzata all’interno della funzione è fondamentale, in quanto permette di prendere il risultato dell’operazione effettuata, salvata all’interno della variabile area, e di comunicarlo fuori dalla funzione, quindi ad un possibile script, o ad una funzione all’esterno, come in questo caso, che abbiamo comunicato il risultato alla funzione echo, che quindi ha provveduto a stamparlo a video.
Una volta finita di implementare questa funzione, abbiamo creato due variabili, una per la base e una per l’altezza e gli abbiamo dato i valori rispettivi, del nostro rettangolo da processare.
Fatto questo abbiamo richiamato la funzione, e inserito i dati richiesti, seguendo l’ordine dei parametri stabiliti durante la creazione della funzione stessa.
Infatti l’ordine dei parametri è molto importante. Se la funzione richiede prima la base e poi l’altezza, io devo fornire prima la base e poi l’altezza, come giusto che sia.
Vediamo il risultato di tutto questo
Ok da questo screen, avrai potuto notare che tutto funziona come previsto.
Ora vediamo qualche approfondimento teorico, sul codice che abbiamo passato con lo screen precedente.
Quando abbiamo implementato la nostra funzione, abbiamo inserito i dati richiesti. Questi dati vengono chiamati parametri formali, e per far si che la funzione funzioni correttamente, scusate il gioco di parole, bisogna accertarsi che quando si richiama, devono essere usati tutti. E nell’ordine descritto dai parametri formali.
I valori che si inseriscono al momento del richiamo di una funzione, vengono chiamati parametri attuali, in quanto sono i parametri che vengono usati in quel momento, per calcolare, in questo caso, l’area di uno specifico rettangolo.
Per il momento ci fermiamo qui con i concetti teorici sulle funzioni, per non rendere ulteriormente pesante questa lezione.
Riprendiamo ora il concetto dello sviluppo di un progetto su più script.
Avendo introdotto le funzioni, direi che siamo pronti per vedere questa nuova tecnica di sviluppo, che ci permetterà dalla prossima lezione, di fare davvero grandi cose.
Vediamo quindi di spostare la funzione areaRettangolo, in un file php chiamato formeGeometriche. Poi facciamo in modo che la funzione areaRettangolo, sia usabile nel file che stiamo usando ora, ovvero l’index.php
Questo quindi è il file formeGeometriche.php
Ecco quindi come deve essere implementato il file index.php
Come abbiamo visto, abbiamo usato la funzione include, che permette di prendere di utilizzare il contenuto di un file php, Questa funzione, per essere più specifici, permette di copiare il contenuto di un file php all’interno del file in cui è stata richiamata la funzione include.
Quindi l’intero contenuto del file formeGeometriche.php viene copiato nel file index.php
Il risultato dell’operazione di prima, ovvero del calcolo dell’area di un rettangolo, mantenendo gli stessi valori, non cambia
La funzione include richiede un solo parametro, ovvero la posizione del file php da includere. Se la posizione del file da includere è la stessa del file che sta usando la funzione include e che quindi questi due file sono nella stessa directory, sarà semplicemente necessario inserire il nome del file, come abbiamo fatto nell’esempio riportato.
In conclusione
Per oggi direi di fermarci qui. Direi che per questa lezione abbiamo introdotto sufficienti elementi nuovi, in modo praticamente solo teorico. Nella prossima lezione vedremo di applicare ciò che abbiamo appreso in questa lezione, nel lato pratico.
Ora potrà sembrarvi che quello che abbiamo appreso in questa lezione sia davvero poco o praticamente inutile, o entrambe le cose, ma scoprirete nelle puntate successive, che non sarà assolutamente così.
Per il momento quindi è tutto! Alla prossima!