Primer script PEAR

  • Por
  • PHP
Hacemos un primer script con PEAR, únicamente para comprobar el correcto funcionamiento de las librerías PEAR.
En este artículo queremos comenzar a utilizar PEAR, al menos probar con un pequeño script que funciona en nuestro servidor, para estar tranquilos y saber que hemos instalado bien el framework y está corriendo perfectamente en el sistema.

Hasta este punto en el manual de Instalar PEAR hemos visto los pasos para integrar el framework PHP en el sistema y la configuración de PHP para que todo funcione correctamente. Luego hemos visto que tenemos que instalar por separado, por línea de comandos, los distintos paquetes o librerías que queremos utilizar en nuestros scripts. Ahora se trata de mostrar cómo se hace un script PHP, que utilice funciones de PEAR, simplemente para ver que todo se ejecuta sin errores.

Para nuestras pruebas, vamos a instalar y utilizar un paquete llamado HTML_Entities que podemos ver en la propia página de documentación de PEAR, en la URL http://pear.php.net/packages.php?catpid=10&catname=HTML.

La primera cosa que tenemos que hacer es instalar dicho paquete en el sistema a través de la línea de comandos de Windows. Anteriormente pudimos ver el procedimiento para instalar paquetes de PEAR, no obstante, el comando que tenemos que ejecutar es el siguiente:

pear install HTML_entities

Con esto debería instalarse ese paquete en el sistema, si es que no estaba instalado anteriormente. Pero atención, porque el paquete HTML_entities tiene una particularidad que aun no hemos comentado y nos va a venir bien revisar en este manual para profundizar en el procedimiento de instalación de paquetes PEAR. Se trata del estado del paquete HTML_entities, que en el momento de escribir este artículo de desarrolloweb .com se encuentra en estado "alpha". Generalmente, cuando instalamos PEAR tenemos configurado el sistema para instalar solamente aquellos paquetes que están en estado "stable" y entonces nos va a salir un mensaje en inglés que explica esta situación y lo que tenemos que hacer para poder instalar este paquete, a pesar que no está en estado estable.

El error que nos sale es el siguiente:

Failed to download pear/HTML_entities within preferred state "stable", latest release is version 0.1.2, stability "alpha", use "channel://pear.php.net/foo-0.2.2" to install
Cannot initialize 'channel://pear.php.net/HTML_entities', invalid or missing package file
Package "channel://pear.php.net/HTML_entities" is not valid install failed

Para instalar un paquete PEAR que no está en estable (tanto en estados alpha/beta), tenemos que escribir el siguiente comando.

pear install HTML_entities-alpha

Como se puede ver, el comando es el mismo, añadiendo un guión y el nombre del estado que queremos instalar (-alpha o -beta).

Entonces debería permitir instalar el paquete en estado alpha, ya que lo hemos indicado en la línea de comandos.

Ahora que tenemos instalado el paquete de PEAR con el que pensábamos hacer las pruebas, vamos a ver un script PHP que utiliza ese paquete.

<html>
<head>
   <title>Probando pear</title>
</head>

<body>
<?
require_once "HTML/Entities.php";

$texto = "Programación por la mañana";

$texto_codificado = HTML_Entities::encode($texto);

echo $texto_codificado;
?>

</body>
</html>

El script es bien simple, pues sólo queremos ver si funciona PEAR. Tenemos que fijarnos en las siguientes líneas:

require_once "HTML/Entities.php";

Con este require incluimos la librería o paquete de PEAR HTML_entities, para poder utilizarla en nuestro script. Ahora veamos otra línea donde se hace uso de esa librería por medio de una llamada a un método.

$texto_codificado = HTML_Entities::encode($texto);

Con esta otra línea estamos ejecutando una llamada a un método que se encarga de codificar un texto en UTF-8 a texto con entidades HTML. Se puede ver que se hace uso de una clase llamada HTML_Entities para ejecutar un método estático llamado encode() que recibe por parámetro el texto que se desea pasar desde UTF-8. El operador "::" de PHP sirve para ejecutar métodos estáticos, es decir, métodos que pertenecen a la clase y de los cuales no se necesita instanciar ningún objeto para poder invocarlos.

Al poner en marcha ese script, pasando por nuestro servidor web, debería aparecer el texto codificado con los acentos, para que se lea correctamente en la página web, ya que tiene las entidades HTML correctamente colocadas.

Para acabar, dejamos por aquí un vídeo donde mostramos los pasos relatados en este artículo, para los que prefieran un aprendizaje visual de la instalación de paquetes de pear y la comprobación de su funcionamiento en PHP.

Con esto hemos podido comprobar que PEAR está correctamente instalado en nuestro servidor y que se puede acceder a los distintos paquetes del framework que hemos instalado también, a sus clases y métodos, para realizar scripts PHP que hacen uso de PEAR.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Isaias Herazo

30/7/2009
No salio el ejemplo
Hola Miguel segui todas las instruciones al pie del texto... y al final me sale ese error...

Warning: require_once(Entities.php) [function.require-once]: failed to open stream: No such file or directory in C:wampwwwcfrasindex.php on line 8

Fatal error: require_once() [function.require]: Failed opening required 'Entities.php' (include_path='.;C:php5pear') in C:wampwwwcfrasindex.php on line 8

tuamigo

18/4/2010
Agradecimiento y continuación
Hola a todo el equipo de desarrolloweb y en especial a Miguel.

Antes de nada enhorabuena por todos los tutoriales de la pagina, tanto en vídeo como escritos, he seguido casi todos los "monotemáticos" y realmente los videotutoriales son los mejores que se pueden encontrar en toda la web, con un método didáctico muy ameno y dinámico. Felicidades!

Por otra parte este videotutorial de php quedó un poco inconcluso, los últimos vídeos son un poco confusos, y creo que requieren mas sintaxis y explicación.

Me gustaría saber si tienen pensado realizar algún videotutorial mas sobre este tema, pues realmente son un excelente complemento para las guías en texto.

Espero que no dejen abandonado esto, y sigan adelante, realmente es extremadamente util, seria genial que existiese una guía tan simple y bien explicada como esta de C++ pues las que hay son demasiado pesadas, para empezar casi de 0 el hecho de ir viendo cada cosa ayuda a fijar conceptos de modo increíble, y los comentarios y consejos que se incluyen en el vídeo son muy utiles.

Un saludo a todos y gracias por la pagina.
Tuamigo