PEAR

PEAR
Información sobre la plantilla
Logo pear med.gif
Desarrolladorpear.php.net
Última versión estable1.7.2
GéneroProgramación Web
Sistemas Operativos compatiblesMultiplataforma
IdiomaEspañol
LicenciaPHP License 3.01
Sitio web
PEAR

PEAR o PHP Extensión and Application Repository, es un entorno de desarrollo y sistema de distribución para componentes de código PHP. El proyecto PEAR fue fundado por Stig S. Bakken en 1999 para promover la reutilización de código que realizan tareas comunes.

Gestión de Error de PEAR

La clase base de PEAR también proprociona un modo de pasar errores más complejos que un valor true/false value o un código numérico. Un error PEAR es un objeto que es, bien una instancia de la clase PEAR_Error, bien de alguna clase que herede PEAR_Error.

Uno de los criterios de diseño de los errores de PEAR es que no deberían forzar un tipo particular de salida al usuario, debería ser posible manejar errores sin ningún tipo de salida si fuese lo deseable. Esto hace posible gestionar errores elegantemente, incluso cuando el formato de salida es distinto de HTML (por ejemplo WML u otro formato XML).

El objeto de error puede configurarse para hacer un número de cosas cuando se crea, como imprimir un mensaje de error, imprimir el mensaje y salir, lanzar el error con la función de PHP trigger_error(), invocar un callback, o ninguna de las anteriores. Esto suele especificarse en el constructor de PEAR_Error, pero todos los parámetros son opcionales, y se pueden fijar por defecto para los errores generados por cada objeto basado en la clase PEAR. Ver los ejemplos de PEAR para comprobar cómo usarlo y la referencia de PEAR_Error para tener más detalles.

Ejemplo

El siguiente ejemplo muestra cómo usar los "destructores emulados para pobres" de PEAR implementando una clase simple que guarda los contenidos de un archivo, te permite añadir datos al objeto y envía los datos al archivo antes de que acabe la petición:

  <?php
    require_once "PEAR.php";
   class FileContainer extends PEAR
   { 
    var $file = ;
   var $contents = ;
   var $modified = 0;
   function FileContainer($file)
   {
       $this->PEAR(); // llamada al constructor de la clase padre
       $fp = fopen($file, "r");
       if (!is_resource($fp)) {
           return;
       }
   $this->file = $file;
       while ($data = fread($fp, 2048)) {
           $this->contents .= $data;
       }
       fclose($fp);
   }
   function append($str)
   {
       $this->contents .= $str;
       $this->modified++;
   }
   // El "destructor" se llama como el constructor
   // pero con un guión bajo delante.
   function _FileContainer()
   {
       if ($this->modified) {
           $fp = fopen($this->file, "w");
           if (!is_resource($fp)) {
               return;
           }
           fwrite($fp, $this->contents);
           fclose($fp);
       }
   }
  }
      $fileobj =& new FileContainer("testfile");
 $fileobj->append("this ends up at the end of the file\n");
 // Cuando concluye la petición y PHP finaliza, se llama al
  // "destructor" de $fileobj y actualiza el archivo en disco.
 ?>

Metas del Proyecto

  • Promover una biblioteca de código bien estructurada
  • Mantener un sistema de distribución y mantenimiento de paquetes de código
  • Promover un estilo de codificación estandar

En definitiva consiste en una lista bastante grande de bibliotecas de código PHP que permiten hacer ciertas tareas de manera más rápida y eficiente reutilizando código escrito previamente por otras personas. Generalmente las bibliotecas contienen clases en archivos PHP que luego se incluyen y usan sin muchas complicaciones. Aunque el proyecto PEAR está orientado hacia la comunidad, existe un Grupo PEAR que ejerce de gobierno y toma cuenta de las tareas administrativas. Cada paquete de código PEAR comprende un proyecto independiente bajo el paragüas común de PEAR. Estos paquetes disponen de su propio equipo de desarrollo, control de versiones y documentación.

Fuente

  • Documentación. Manual. Disponible en "pear.php.net".