Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda con PEAR

Estas en el tema de Duda con PEAR en el foro de PHP en Foros del Web. Hola, estoy empezando con PHP, y he descubierto PEAR, que parece bastante útil para incluir algunos scripts. Pero tengo un problema. Lo he instalado (creo ...
  #1 (permalink)  
Antiguo 02/03/2015, 10:58
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Duda con PEAR

Hola, estoy empezando con PHP, y he descubierto PEAR, que parece bastante útil para incluir algunos scripts.

Pero tengo un problema. Lo he instalado (creo que correctamente), y he instalado también alguno de sus scripts. Aqui tenéis el ejemplo que estoy probando, sacado de un libro que estoy utilizando para aprender:

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>Fibonacci sequence using HTML_Table</title>
<link rel="stylesheet" type="text/css" href="common.css" />
<style type="text/css">
th { text-align: left; background-color: #999; }
th, td { padding: 0.4em; }
tr.alt td { background: #ddd; }
</style>
</head>

<body>

<h1>Fibonacci sequence using HTML_Table</h1>

<?php

require_once("PEAR/HTML/Table.php");
$attrs = array("cellspacing" => 0, "border" => 0, "style" => "width: 20em; border: 1px solid #666;");
$table = new HTML_Table($attrs);
$table->addRow(array("Sequence #", "Value"), null, "th");

$iterations = 10;

$num = 0;
$num = 1;

$table->addRow(array("F<sub>0</sub>", "0"));
$table->addRow(array("F<sub>1</sub>", "1"));

for ($i=2; $i <= $iterations; $i++) {

$sum = $num1 + $num2;
$num1 = $num2;
$num2 = $sum;
$table->addRow(array("F<sub>$i</sub>", $num2));

?>

<?php

}

$attrs = array("class" => "alt");
$table->altRowAttributes(1,null,$attrs,true);
echo $table->toHtml();

?>

</body>

</html>
Se entiende que es una tabla que muestra una sucesión de fibonacci de varios números. Como podéis ver, en require_once aparece el directorio donde se supone que está Table.php, pues el PEAR que he descargado es Table_HTML. La cuestión es que a la hora de mostrar este archivo en localhost, me aparece el siguiente error:



He abierto el archivo Table.php, y he cambiado el directorio que viene por defecto, que es este:

Cita:
require_once 'PEAR.php';
Por este:

Cita:
require_once '..\PEAR.php';
Que es donde se encuentra el archivo PEAR.php, pero el error me sigue apareciendo...

¿Sabéis que estoy haciendo mal? No se como me puede dar tantos problemas un error que parece tan sencillo...

Muchas gracias y un saludo
  #2 (permalink)  
Antiguo 02/03/2015, 11:37
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Duda con PEAR

El detalle es que con PEAR las clases son buscadas en el directorio declarado en la directiva include_path. vas a tener que revisar la documentación de php. Por otro lado el repositorio PEAR actualmente a sido cambiado por el uso de Composer que es mucho mas sencillo de utilizar.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 03/03/2015, 10:51
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Duda con PEAR

Cita:
Iniciado por hhs Ver Mensaje
El detalle es que con PEAR las clases son buscadas en el directorio declarado en la directiva include_path. vas a tener que revisar la documentación de php. Por otro lado el repositorio PEAR actualmente a sido cambiado por el uso de [URL="https://getcomposer.org/"]Composer[/URL] que es mucho mas sencillo de utilizar.
Gracias por tu respuesta.

Por lo que he entendido, tengo que buscar la directiva include_path en el archivo php.ini. Pues bien, el directorio incluido en esa línea es este:

Cita:
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\wamp\bin\php\php5.5.12\pear"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path
Supongo que la linea que tengo que cambiar es la de windows, que es la que he cambiado.

Esto hace que en otro script, con esta linea:

Cita:
require_once("..\bin\php\php5.5.12\pear\Net\UserAg ent\Detect.php");
Si que funcione, y muestra el navegador y sistema operativo del usuario.

Pero luego, en el script utilizando HTML_Table y el codigo del ejemplo anterior, me sigue mostrando el error. Las lineas que utilizo para buscar en PEAR son:

Cita:
require_once("..\bin\php\php5.5.12\pear\HTML\Table .php");
Esta en mi propio script.

Cita:
require_once '..\PEAR.php';
require_once 'Common.php';
require_once 'Table\Storage.php';
Y estas tres en el Table.php que venía con PEAR.

Sigue dando el error. Aunque Composer sea mejor, por ahora quiero seguir el libro de programación que tengo, y utiliza varios ejemplos con PEAR, así que hasta que lo termine te agradecería que me ayudases con este problema.

Muchas gracias de nuevo y un saludo.
  #4 (permalink)  
Antiguo 03/03/2015, 12:58
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Duda con PEAR

Lo siento amigo no utilizo PEAR en ninguno de mis proyectos, así que te remito al manual http://pear.php.net/manual/en/ espero que soluciones tu problema
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 03/03/2015, 14:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda con PEAR

Cita:
Hola, estoy empezando con PHP, y he descubierto PEAR, que parece bastante útil para incluir algunos scripts.
¿Sabías que PEAR es una opción vieja y poco actualizada?

Es decir, hoy en día ya existen herramientas para el manejo de dependencias en PHP: Composer/Packagist.

Y sí, aunque PEAR se "usa" todavía es complicado conseguir ayuda por la misma razón de que es muy viejo y nadie quiere aprender cosas viejas.

Te invito a actualizarte al respecto: http://phptherightway.com/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 04/03/2015, 05:18
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Duda con PEAR

Por los comentarios que estoy leyendo no esperaba utilizar PEAR más allá del uso de este libro, pero el curso que estoy haciendo se basa en un libro que utiliza PEAR, y por lo menos hasta que acabe el curso pues será lo que utilizaré. Al terminar me pasaré a Composer o lo que corresponda, pero por ahora agradecería ayuda con este tema.

Gracias y un saludo.

Etiquetas: html, pear, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:05.