Jan 5 2010

PEAR

Nick

PEAR es un sistema para la redistribución e instalación de librerías y frameworks para PHP que inicio en 1999, de la mano de Stig Bajkke, para promover la reutilización de código. PEAR es una biblioteca estructurada que promueve un estándar de codificación y mantiene un sistema para redistribuir y administrar paquetes.

El administrador de paquetes (PEAR package manager), que corre bajo linea de comandos, pear, permite instalar, desinstalar y actualizar paquetes de una forma fácil. Existen paquetes para tareas básicas, por ejemplo: autenticación, bases de datos, cifrado, XML.

Un paquete PEAR es distribuido como un archivo comprimido, tar.gz. Cada archivo consiste en un componente para PHP. De esta forma pear lo instala de manera global en el sistema.

Instalando PEAR

Versiones recientes de PHP, mayores a PHP 4.3.0, ya traen todo lo necesario para trabajar con PEAR. A menos que por extrañas razones no tengas instalado PEAR puedes pasar a la siguiente sección.

Windows

  1. Una vez instalado PHP, ejecutar c:\{PATH-TO-PHP}\go-pear.bat

  2. Agregar la ruta al path.

Linux/Unix

  1. Distribuciones basadas en Debian.
    • apt-get install php-pear
  2. Forma genérica.
    • # curl http://pear.php.net/go-pear | php

Servidor

Si deseas instalar PEAR en un servidor al que no tienes acceso por ssh.

  1. Descarga http://pear.php.net/go-pear
  2. Coloca el archivo go-pear.php en tu servidor. p.e. http://ihtoa.org/pear/go-pear.php
  3. Úsalo desde la interfaz web.

Instalando paquetes

Como ya se menciono PEAR funciona a base de paquetes. Un paquete es una colección de archivos organizados y definidos por meta-información contenida en el paquete. Un paquete es una librería.

PEAR tiene en su canal por default varios paquetes bastante interesantes.

Un canal es un sitio web que distribuye paquetes para la instalación manual o mediante el PEAR package manager. Ademas provee meta-información de los paquetes que sirve para identificarlos y decidir cual de ellos instalar.

Por default, PEAR solo tiene registrado su propio canal: pear.php.net. Sin embargo, diversos proyectos basados en PHP pueden ofrecer su propio canal de PEAR para proporcionar una forma fácil de instalación para su aplicación. En la pagina Channels de PEAR se encuentra una lista con algunos otros canales, aunque no son los únicos.

Para instalar un paquete y/o agregar un canal se usa la linea de comandos. El comando pear nos permite administrar todo lo necesario para trabajar con PEAR.

Para ver una lista detallada de lo que podemos hacer basta teclear pear.

Canales

  • channel-add <channel.xml> ::  Agrega un canal.
  • channel-delete <channel name> :: Elimina un canal, solo si no hay paquetes instalados de este canal.
  • channel-discover [<channel.xml>|<channel name>] :: Agrega un canal.
  • channel-info <channel name> :: Muestra información sobre al canal especificado.
  • channel-update [<channel.xml>|<channel name>]:: Actualiza el canal especificado.
  • update-channels :: Actualiza todos los canales.

Paquetes

  • info [channel/]<package> :: Muestra información acerca del paquete especificado.
  • install [channel/]<package> :: Instala el paquete especificado.
  • uninstall [channel/]<package> :: Desinstala el paquete especificado.
  • upgrade [[channel/]<package>] :: Actualiza el paquete especificado. Si no se especifica un paquete actualiza todos los paquetes de todos los canales.

Información

  • list [-a] [-c <channel>] [-i] [[channel/]<package>] :: Si se especifica un paquete muestra todos los archivos que pertenecen a dicho paquete. Sin parametros muestra los paquetes instalados en el canal por default. -c channel muestra los paquetes instalados del canal especificado. -a muestra todos los paquetes instalados de todos los canales disponibles.
  • list-all [-c channel] :: Muestra todos los paquetes  del canal especificado, sino se incluye el parametro muestra todos los paquetes del canal por default.
  • list-channels :: Muestra información de todos los canales disponibles.
  • list-files <package> :: Muestra los archivo del paquete especificado.
  • list-upgrades :: Muesta las actualizaciones de todos los canales disponible.

Ejemplos

  • Symfony
    # pear channel-discover pear.symfony-project.com
    Adding Channel "pear.symfony-project.com" succeeded
    Discovery of channel "pear.symfony-project.com" succeeded
    # pear list-all -c symfony
    All packages [Channel symfony]:
    ===============================
    Package                 Latest Local
    symfony/pake            1.1.4        Build system with capabilities similar to make.
    symfony/symfony         1.4.1        Symfony is a complete framework designed to optimize the development of web applications.
    symfony/YAML            1.0.2        The Symfony YAML Component.
    symfony/EventDispatcher 1.0.0        The Symfony Event Dispatcher Component.
    # pear install -o symfony/symfony
    downloading symfony-1.4.1.tgz ...
    Starting to download symfony-1.4.1.tgz (3,150,576 bytes)
    .............................................................................................................................................................................................................................................................................................................................................................................................................................done: 3,150,576 bytes
    install ok: channel://pear.symfony-project.com/symfony-1.4.1
    # symfony --version
    symfony version 1.4.1 (/usr/share/php/symfony)
  • FirePHP
    # pear channel-discover pear.firephp.org
    Adding Channel "pear.firephp.org" succeeded
    Discovery of channel "pear.firephp.org" succeeded
    # pear list-all -c pear.firephp.org
    All packages [Channel pear.firephp.org]:
    ========================================
    Package             Latest Local
    firephp/FirePHPCore 0.3.1        Core feature and communication library
    firephp/ZendServer  0.1.3        FirePHP for Zend Server
    # pear install -o pear.firephp.org/FirePHPCore
    downloading FirePHPCore-0.3.1.tgz ...
    Starting to download FirePHPCore-0.3.1.tgz (22,630 bytes)
    ........done: 22,630 bytes
    install ok: channel://pear.firephp.org/FirePHPCore-0.3.1
# pear list-channels
Registered Channels:
====================
Channel                  Alias   Summary
doc.php.net              phpdocs PHP Documentation team
pear.firephp.org         firephp Server code for FirePHP Firefox
Extension (http://www.firephp.org/)
pear.php.net             pear    PHP Extension and Application
Repository
pear.symfony-project.com symfony The symfony project PEAR channel
pecl.php.net             pecl    PHP Extension Community Library
__uri                    __uri   Pseudo-channel for static packages
# pear list -a
Installed packages, channel __uri:
==================================
(no packages installed)
 
Installed packages, channel doc.php.net:
========================================
(no packages installed)
 
Installed packages, channel pear.firephp.org:
=============================================
Package     Version State
FirePHPCore 0.3.1   stable
 
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.5   stable
Console_Getopt   1.2.3   stable
PEAR             1.9.0   stable
Structures_Graph 1.0.3   stable
XML_Util         1.2.1   stable
 
Installed packages, channel pear.symfony-project.com:
=====================================================
Package Version State
symfony 1.4.1   stable
 
Installed packages, channel pecl.php.net:
=========================================
(no packages installed)

Para saber más

# pear channel-discover pear.symfony-project.com
Adding Channel “pear.symfony-project.com” succeeded
Discovery of channel “pear.symfony-project.com” succeeded
# pear list-all -c symfony
All packages [Channel symfony]:
===============================
Package                 Latest Local
symfony/pake            1.1.4        Build system with capabilities similar to make.
symfony/symfony         1.4.1        Symfony is a complete framework designed to optimize the development of web applications.
symfony/YAML            1.0.2        The Symfony YAML Component.
symfony/EventDispatcher 1.0.0        The Symfony Event Dispatcher Component.
# pear install -o symfony/symfony
downloading symfony-1.4.1.tgz …
Starting to download symfony-1.4.1.tgz (3,150,576 bytes)
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..done: 3,150,576 bytes
install ok: channel://pear.symfony-project.com/symfony-1.4.1
# symfony –version
symfony version 1.4.1 (/usr/share/php/symfony)

Mar 25 2009

Librerias PHP

Nick

Las librerías son para usarse y no reinventar la rueda a cada día. Por ello es importante conocer de su existencia y posibilidades para saber cuales usar en los proyectos que estamos realizando.

Desde Komunitas Web, a través de aNieto2K, nos llega una lista de librerías para PHP que no debemos dejar de tomar en cuenta.

Tenemos librerías para usar en tiempo de desarrollo, como PHPUnit y SimpleTest, que nos sirven para correr casos de prueba y validar nuestros proyectos; o para generar PDFs, como FPDF;  o para facilitar el acceso a bases de datos, ADOdb; o enviar correos, PHPMailer.

Vía: aNieto2k | Enlace: Komunitas Web


Dec 29 2008

Cake PHP

Nick

cake-logo

En mononeurona se hacen eco de la publicación de la versión más reciente de CakePHP.

CakePHP es una aplicación web de código abierto para la producción de aplicaciones web escritas en PHP. Está escrito en PHP y se distribuye bajo la licencia MIT. >>W

Después de exactamente dos años de desarrollo se presenta la siguiente versión estable de CakePHP. Algunas de sus caracterí­sticas:

  • Tests
  • Command-line infrastructure
  • Plugin architecture
  • Internationalization and Localization support
  • Email component
  • Security component
  • Cookie component
  • Database drivers
  • Caching
  • Debugger class, for detailed introspection of errors
  • Pagination
  • FormHelper

¿Que esperas? A descargarlo. Dicen que puede ser útil en algunas materias de la escuela. ;-)

Enlaces:

Bonus:

Como depurar programas escritos en PHP desde eclipse.

Enlace: CakePHP | Ví­a: Mononeurona


Oct 10 2008

poesia y programacion

sisjose

Tratar de expresar un sentimiento de forma de un poema es muy difícil, pero para un programador más.

Lautreamont realizo el siguiente código en php y lo titulo Amor en PHP :

Traducción

“Si me quieres, te querré
más y más a cada instante mientras viva
porque si no me quieres no soy nada”

ya saben,  que decirle a tu chica  claro si conoce algo de php de lo contrario escriban la frase.

enlace: lautreamont