Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

problemas con include en clase

Estas en el tema de problemas con include en clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos, tengo una clase que necesita instanciar un objeto de otra clase, por lo que en la primera incluyo el archivo de la ...
  #1 (permalink)  
Antiguo 13/07/2007, 03:00
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 10 meses
Puntos: 0
problemas con include en clase

Hola a todos, tengo una clase que necesita instanciar un objeto de otra clase, por lo que en la primera incluyo el archivo de la segunda clase. Los 2 ficheros están en distintos directorios y me surge el problema al incluir el archivo ya que dice que no reconoce la ruta (la ruta está correcta y el archivo existe). Si meto el archivo incluido en el mismo directorio que en el que se incluye no me da problemas.

Pongo código...

Código:
fichero hola.php
<?
include_once ('../clases/mundo.php');

class hola {
	var $obj;

	function __construct(){
		$obj=new mundo();
	        $this->escribir();
        }

	function escribir(){
		$obj->mostrar();	
	}

}
?>
Y me da el siguiente fallo...

Warning: include_once(../clases/mundo.php) [function.include-once]: failed to open stream: No such file or directory in E:\www\grial\hola.php on line 2

Warning: include_once() [function.include]: Failed opening '../clases/mundo.php' for inclusion (include_path='.;C:\php5\pear') in E:\www\grial\hola.php on line 2


¿Cuál es el fallo? Supongo que la ruta del fichero a incluir sea relativa al archivo donde se incluye ¿no? Por otro lado, un require_once y un include_once funciona de manera semejante en php5 ¿no?.

Ya no se que probar.
Gracias a todos.
  #2 (permalink)  
Antiguo 13/07/2007, 03:43
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: problemas con include en clase

Creo que lo he solucionado. La aplicación la lanzaba con una página index.php que creaba el objeto hola. Por lo que parece todas las rutas tienen que ser relativas a este archivo lanzador.

De todas formas agradecería que alguien más ducho en el tema me lo confirmara.
Saludos y gracias
  #3 (permalink)  
Antiguo 13/07/2007, 05:42
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Re: problemas con include en clase

Primera sugerencia: la técnica "prueba y error" no es una técnica muy segura que digamos. Lo recomendable es que leas, te fundamentes, y luego intentes hacerlo... pero no hagas lo último primero (siempre me acuerdo la frase irónica "cuando todo falla... ve al manual").

Segundo: son muy peligrosas las referencias relativas "../" por la misma razón de tu caso, lo que realmente importa es desde donde hacen la primer invocación y posteriormente todo es relativo a ella. Piensa que para PHP es como juntar todos los archivos del "include / require" en uno solo y luego ejecutarlo.

Lamentablemente no tenemos namespaces / packages, ya que estos problemas desaparecerían
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 20:57.