I vantaggi di utilizzare PHP
Come si evince analizzando il codice e le funzioni disponibili, il PHP appartiene alla famiglia dei linguaggi C-Like, ovvero quei linguaggi la cui sintassi è molto simile a quella del C. Nella seguente tabella alcune differenze e similitudini tra il C e il PHP, i punti elencati verranno poi approfonditi in questa lezione e in quelle successive.
Linguaggio C | Linguaggio PHP |
---|---|
Tipizzazioni molto forte | Tipizzazione debole |
Paradigmi supportati: imperativo, procedurale, strutturato | Paradigmi supportati: imperativo, funzionale, object-oriented, procedurale, riflessivo |
Supporta i puntatori | Non supporta i puntatori |
Utilizzato principalmente per software Desktop | Utilizzato principalmente per applicativi Web |
Operazioni con le stringhe particolarmente complicate | Operazioni con le stringhe molto semplici da effettuare |
Non supporta I/O filesafe | Supporta I/O filesafe |
Non supporta system calls | Supporta system calls |
Tipi di dati numerici supportati: int8_t, unint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, int, unsigned int, signed char, unsigned char, short, unsigned short, long, unsigned long, long long, unsigned long long | Tipi di dati numerici supportati: 32-bit signed int, 64-bit signed int (long integer) |
Tipi di dati float supportati: single precision float, doublelong double | Tipi di dati float supportati: double precision float |
Supporta array di dimensioni fisse | Non supporta array di dimensioni fisse |
Non supporta array associativi | Supporta array associativi |
Il PHP è stato principalmente sviluppato per il Web, questo significa che la maggior parte delle sue caratteristiche sono state implementate in funzione di esso. Il linguaggio, ad esempio, consente di accedere in maniera semplicissima alle richieste HTTP di tipo GET e POST e di scrivere e leggere i cookies.
Un altro punto di forza di questo linguaggio sono le librerie. Queste ci consentono di connettersi alla gran parte dei database (MySQL, Postgres, SQLite..), per interagire con i server Web (Apache, NGINX..), per manipolare le immagini (GD), per effettuare connessioni remote (cUrl) e molto molto altro, inoltre, anche se nato come linguaggio per Web, potrà essere utilizzato come linguaggio per lo scripting da riga di comando.
Un’altro punto di forza del PHP è l’infinita community sempre molto attiva. Sul web troviamo migliaia di librerie di terze parti che ampliano le funzionalità di base e, nella maggior parte dei casi, sono tutte rilasciate con licenza Open Source. Come vi accennavo alla prima lezione sono numerosi i framework sviluppati con questo linguaggio. Ad esempio tra i più noti troviamo Zend Framework, Symfony Framework, CakePHP, così come anche i CMS WordPress, Drupal e Joomla.
PHP è multipiattaforma, cioè può essere utilizzato sia in ambienti unix-based (Linux, Mac OSX) che su Windows. La combinazione più utilizzata, però, resta quella LAMP ovvero Linux come sistema operativo, Apache come Web server, MySQL per i database e PHP.
Le variabili
Che cosa sono e come utilizzarle nel nostro codice
Iniziamo con la seconda lezione. Nella prima lezione abbiamo visto quali sono i costruttori per stampare a video, in una pagina web, un testo. Quello stesso testo possiamo farlo contenere in una variabile.
Le veriabili in PHP sono tutte delimitate dal carattere $
. Nell’esempio sotto vediamo come assegnare alla varibile $amico il valore “Andrea” e lo stampiamo a video attraverso il costrutto echo
.
<?php
/*
* I commenti su più righe
* si scrivono così.
*/
// questo invece è un commento su singola riga
# questo è un altro tipo di commento
$amico= “Andrea”;
echo “Il mio nome è ” . $nome;
?>
In questo piccolo esempio abbiamo visto più elementi di uno script PHP. Pertiamo dai commenti.
Commenti
Nel PHP troviamo 3 modi per scrivere i commenti. I commenti su più righe, multilinea, sono quelli chiusi tra i tag “/* ... */
“. Tutto quello che è delimitato dai due tag non verrà interpretato dal PHP ma visibile al programmatore quando apro un file sorgente. I realtà questo tipo di commento è utile se andreamo ad utilizzare PHPDoc. Lo strumento di commento ci consente di documentare il codice. Il secondo e il terzo tag “//” e “#” ci consentono di scricvere un commento su una singola riga.
Che cosa è PHPDoc e come scrivere commenti per documentare il codice
Uno degli scopi importanti della programmazione ad oggetti è rappresentato dalla necessità di riutilizzare e condividere codice, ma scrivere codice ben formattato non sempre è sufficiente. Nominare Classi, metodi e variabili in modo comprensivo non fornisce in realtà un contributo nel capire i parametri e richiesti o quelli restituiti da una funzione.
Per poter rispondere a questa esigenza è stato definito uno standard informale per documentare le classi. Questo ci consente di scrivere commenti “DocBlock” che attraverso IDE o strumenti come JavaDoc e PHPDoc possono aiutarci nella documentazione e supportare chi andrà a leggere il nostro codice.
Per il momento non mi divulgo su questo argomento. Più avanti farò un articolo che possa aiutarvi a scrivere bene i vostri commenti. Di seguito vi riporto un commento scritto per descrivere una classe “Users” cone il metodo “getUsers“.
Supponiamo di scrivere una calsse “Users“, per la gestione degli utenti, e un methodo che ci consenta di reperire tutti gli utenti registrati.
<?php
/** * tags dimostrativi * @author Alfonso * @version 1.0.1 * @example /path/to/example.php Come utilizzare la classe * @example anotherexample.inc This example is in the "examples" subdirectory */
class Users { /** * @var array $users Array of users */ private $users;
/** * @method Array getUsers() getUsers(boolen $active) * @param Boolean $active clienti attivi "true" non attivi "false" * @return Array */
public function getUsers($active = true) { return $this->users; } }