Utilizzo PEAR

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.

Privacy Policy