Ho notato che PEAR ("PHP Extension and Application Repository") non è di così immediato utilizzo, così ecco un' articolo su come utilizzarlo..
innanzitutto se avete un php > 4.3.0 non avete nulla da installare. Vi basta cercare sul sito di riferimento (http://pear.php.net) il package di cui avete bisogno, per poi installarlo con il comando install. Per esempio per installare il package HTTP_Request useremo la seguente sintassi:
root@slack#pear install HTTP_Request
Did not download dependencies: pear/Net_URL, pear/Net_Socket, use --alldeps or --onlyreqdeps to download automatically
pear/HTTP_Request requires package "pear/Net_URL" (version >= 1.0.12)
pear/HTTP_Request requires package "pear/Net_Socket" (version >= 1.0.2)
No valid packages found
install failed
In questo caso mancano delle dipendenze, quindi si rivela necessario l'utilizzo del flag --alldeps (come suggerito da PEAR stesso)
root@slack# pear install --alldeps HTTP_Request
downloading HTTP_Request-1.3.0.tgz ...
Starting to download HTTP_Request-1.3.0.tgz (13,808 bytes)
.....done: 13,808 bytes
downloading Net_URL-1.0.14.tgz ...
Starting to download Net_URL-1.0.14.tgz (5,173 bytes)
...done: 5,173 bytes
downloading Net_Socket-1.0.6.tgz ...
Starting to download Net_Socket-1.0.6.tgz (4,623 bytes)
...done: 4,623 bytes
install ok: channel://pear.php.net/Net_Socket-1.0.6
install ok: channel://pear.php.net/Net_URL-1.0.14
install ok: channel://pear.php.net/HTTP_Request-1.3.0
Per aggiornarlo, quando viene rilasciata una nuova versione, scriveremo:
root@slack#pear upgrade HTTP_Request
Per aggiornare tutti i package installati userermo:
root@slack#pear upgrade all
Per conoscere l'elenco dei package installati:
root@slack# pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.1 stable
Console_Getopt 1.2 stable
DB 1.7.6 stable
HTML_AJAX 0.4.1 alpha
HTML_Template_IT 1.1.4 stable
HTTP 1.4.0 stable
HTTP_Request 1.3.0 stable
Mail 1.1.10 stable
Net_SMTP 1.2.8 stable
Net_Socket 1.0.6 stable
Net_URL 1.0.14 stable
PEAR 1.4.10 stable
XML_Parser 1.2.7 stable
XML_RPC 1.5.0 stable
Vediamo infile l'utilizzo da Php delle classi messe a disposizione da PEAR, continuo con l'esempio di HTTP_Request, la quale permetti di simulare richieste HTTP (POST e GET) via codice e restituisce il relativo output:
<?php
require_once "HTTP/Request.php";
$req =& new HTTP_Request("http://www.google.it/");
if (!PEAR::isError($req->sendRequest())) {
echo $req->getResponseBody();
} else {
$response1 = "no response";
}
echo $response1;
?>
L'esempio è molto semplice, rimando alla documentazione del package per ulteriori complicazioni.
Concludendo PEAR è una collezione di package molto utile, che evita di dover reinventare la ruota ogni volta. Prima di scrivere qualsiasi tipo di codice il mio consiglio è di spendere 10min. a vedere se qualcuno (probabilmente più preparato di noi) non lo abbia già fatto.