# PHP/PEAR

PHP
Copertina Tutti i moduli · Sviluppo
    CopertinaPHP/Copertina
* IntroduzionePHP/Introduzione
** StoriaPHP/Introduzione/Storia
** Come funzionaPHP/Introduzione/Come funziona
* Installazione e configurazionePHP/Installazione e configurazione
** InstallazionePHP/Installazione
*** LinuxPHP/Installazione/Linux
*** WindowsPHP/Installazione/Windows
*** Mac OS XPHP/Installazione/Mac OS X
** ConfigurazionePHP/Configurazione
* ProgrammazionePHP/Programmazione
** CommentiPHP/Programmazione/Commenti
** VariabiliPHP/Programmazione/Variabili
** OperatoriPHP/Programmazione/Operatori
** ArrayPHP/Programmazione/Array
** CondizioniPHP/Programmazione/Condizioni
** CicliPHP/Programmazione/Cicli
** Funzioni di basePHP/Programmazione/Funzioni di base
** Funzioni personalizzatePHP/Programmazione/Funzioni personalizzate
** Variabili globaliPHP/Programmazione/Variabili globali
*** $GLOBALSPHP/Programmazione/Variabili globali/$GLOBALS
*** $_GETPHP/Programmazione/Variabili globali/$_GET
*** $_POSTPHP/Programmazione/Variabili globali/$_POST
*** $_SESSIONPHP/Programmazione/Variabili globali/$_SESSION
*** $_COOKIEPHP/Programmazione/Variabili globali/$_COOKIE
*** $_SERVERPHP/Programmazione/Variabili globali/$_SERVER
** FilePHP/Programmazione/File
** ImmaginiPHP/Programmazione/Immagini
** Espressioni regolariPHP/Programmazione/Regexp
** Programmazione orientata agli oggettiPHP/Programmazione/OOP
* Programmazione avanzata con le classi PEARPHP/PEAR
* PHP e i databasePHP/Database
** Funzioni PHP per l'accesso ai database
*** Funzioni MySQLPHP/Programmazione/MySQL
**** Accesso al databasePHP/Programmazione/MySQL/Accesso al database
**** QueryPHP/Programmazione/MySQL/Query
**** Risultati di una queryPHP/Programmazione/MySQL/Risultati di una query
**** Liberare memoria dai risultati di una queryPHP/Programmazione/MySQL/Liberare memoria dai risultati di una query
**** Chiudi connessione al dbPHP/Programmazione/MySQL/Chiudi connessione al db
*** Funzioni PostgreSQLPHP/PostgreSQL
**** Accesso al database
**** Query
**** Risultati di una query
*** Funzioni Sqlite
**** Accesso al database
**** Query
**** Risultati di una query
** Database e object oriented
*** Abstraction Layers
**** PDO - Php Data Objects
**** PEAR::MDB2
**** Creole
*** Object Relational Mapping (ORM)
**** PEAR:DB_DataObject
**** PEAR:DB_Table
**** Propel
* PHP Design PatternPHP/PHP Design Pattern
* SmartyPHP/Smarty
* Sicurezza delle applicazioni web
* PHP CLI: Command Line InterpreterPHP/Cli
* PHP GTK2: applicazioni desktop in PHPPHP/Gtk
* Crediti
Modifica il sommario
PEAR è l'acronimo per PHP Extension and Application Repository. Con questa sigla si identifica il progetto della comunità di sviluppatori PHP che si pone come scopo fornire principalmente:
* una libreria strutturata di classi open-source per sviluppatori PHP
* un sistema per la distribuzione del codice e per la manutenzione dei pacchetti
* uno standard per lo stile del codice scritto in PHP

## Gli standard PEAR

Essendo PEAR un progetto della comunità di sviluppatori è nata la necessità di definire uno standard per lo stile della scrittura del codice PHP, in modo tale da rendere il codice leggibile e comprensibile da tutti. Gli standard PEAR, tra le altre cose, stabiliscono che:
* il codice PHP sia sempre delimitato dai tag <?php e ?>
* al posto del carattere tabulazione vengano usati quattro spazi
* vengano incluse, anche dove sono facoltative, le parentesi, per rendere il codice più chiaro
* le righe bianche vengano usate solo per separare blocchi di codice distinti
* tutti i blocchi delle strutture di controllo (if, for, ecc...) siano racchiusi da parentesi graffe anche quando questo sia facoltativo
Sono state stabilite anche alcune convenzioni di nomenclatura:
* i nomi delle classi devono essere auto-esplicativi ed ogni parola che compone il nome deve avere l'iniziale maiuscola ed il resto minuscolo; le parole devono essere inoltre delimitate da undescore: per esempio, sono nomi di classi corretti Log o Net_Finger ma non lo è; uploadError
* le funzioni definite dall'utente devono essere chiamate con la prima letta minuscola e la prima lettera di ogni parola che compone la funzione maiuscola: ad esempio, miaFunzione è un nome valido mentre non lo sono Miaaltrafunzione e miaaLTRAFUNZIONE.

## Le classi PEAR

Le classi PEAR permettono quindi di semplificare il lavoro del programmatore accedendo a soluzioni di ottima qualità già realizzate da altri programmatori. Ad esempio, tramite la classe DB_DataObject si è in grado di accedere ai dati di un database senza dover costruire delle query, ma accedendovi semplicemente ed intuitivamente tramite i metodi della classe.