Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Como usar PEAR en Eclipse (https://www.clubdelphi.com/foros/showthread.php?t=49821)

AzidRain 31-10-2007 04:49:19

Como usar PEAR en Eclipse
 
Estoy aprendiendo a usar PHP, hasta ahora estoy encantado, muy sencillo, potente y fácil de aprender. Me encontré PEAR y me gustaron los paquetes, ya instalé algunos pero estaba viendo que no se c como hacer que funcionen en Eclipse.

Es decir, creo el proyecto añado las carpetas de los paquetes de pear que voy a utilizar y el completador de código me funciona bien, pero a la hora de tratar de usar el script en el navegador me salen errores relacionados con el path de los includes

El código es muy simple:
Código PHP:

<?php

  
include_once("HTML/Table.php");
  
$tabla = new HTML_Table();
  
  
$tabla->addRow(array('uno','dos','tres'),null,"th");
  
$tabla->addRow(array('si','como','no'));
  echo 
$tabla->toHtml();

?>

Sin embargo esto no funciona.
Ya esta instalado el paquete correspondiente en PEAR (HTML) y si existe el archivo Table.php. La cosa es que no quiere jalar

Alguna ayuda??

dec 31-10-2007 07:35:17

Hola,

Si no me equivoco, en PHP existe la forma de indicar una o más rutas de directorios para archivos "Include", es decir, algo así como la "Library Path" de Delphi. Sin embargo, no hago uso de esta característica, sino que recurro al sistema de archivos, y mantengo los archivos "includes" en un determinado directorio, cuya ruta establezco absolutamente antes de nada.

Quiero decir... ¿realmente existe "HTML/Table.php"? Es una ruta relativa... ¿pero a qué? Yo comenzaría por averiguar si realmente existe dicho archivo, antes de tratar de incluirlo...

Código PHP:

if(file_exists('HTML/Table.php')){
  
// De acuerdo, el archivo existe


Pero, como digo, lo anterior no es lo habitual, al menos en la forma en que yo voy haciendo las cosas. Por el contrario, suelo definir un directorio "raíz", precisamente, basado en un determinado "Script". Dicho Script está en la "raíz" de un proyecto dado, y, a partir de él se construyen el resto de rutas.

Algo como:

Código PHP:

define('BASE_DIR'dirname(__FILE__).DIRECTORY_SEPARATOR); 

De este modo se cuenta con un directorio "base", a partir del cual, como he dicho, pueden construirse el resto de rutas. Es decir, constantes como esta otra:

Código PHP:

define('CLASSES_DIR'BASE_DIR.CLASSES_DIR_NAME.DIRECTORY_SEPARATOR); 

Y, de este modo, al cabo podríamos hacer algo como esto:

Código PHP:

require(CLASSES_DIR.'table.php'); 

Bueno, más o menos... esa es la idea. :)

AzidRain 31-10-2007 20:30:32

Si, de hecho ya habia pensado en algo asi, pero me salió otra duda.

"Supongando" que tengo mi proyecto digamos en la carpeta "proyecto" en el directorio raiz del servidor (Apache). En terminos de la pc donde corre el servidor esto es c:\wamp\www\proyecto.

Resulta que php y pear estan en c:\wamp\php y c:\wamp\php\pear. Como se puede ver, tanto php como pear quedan fuera de los archivos accesibles por los scripts ya que están al mismo nivel que "www" que es el raiz para internet.

Pregunta ¿Es válido decirle a php una carpeta absoluta aun si no es accesible desde el navegador?

Lo más fácil seria crearle una carpeta dentro de la carpeta de mi proyecto y meter ahi todos los paquetes de pear que utilice en ese proyecto pero la idea seria que esos paquetes puedan compartirse entre otros proyectos.

Se que usando set_include_path se puede fijar ese valor, de hecho en php.ini hay una clave para definirlo, pero nomás no me sale.

Tu que piensas mi buen Dec, ¿Como le haré?..


La franja horaria es GMT +2. Ahora son las 04:21:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi