Foros del Web » Programando para Internet » PHP »

Sobre Include.

Estas en el tema de Sobre Include. en el foro de PHP en Foros del Web. Queria realizar una consulta tecnica, para saber la opinion de los que mas saben, ustedes. Para un proyecto grande donde utilizo gran cantidad de archivos, ...
  #1 (permalink)  
Antiguo 03/08/2011, 11:04
 
Fecha de Ingreso: junio-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 6
Sobre Include.

Queria realizar una consulta tecnica, para saber la opinion de los que mas saben, ustedes. Para un proyecto grande donde utilizo gran cantidad de archivos, y los agrupo en distintas carpetas, cual es la mejor forma de incluir los archivos.

Normalmente programo en otros lenguajes y acostumbro dividir las capas que programo en distintas carpetas, pero en PHP esto me genera problemas, cuando se realizan varios include me generan error. Hay alguna convencion con respecto a esto?... Yo en un proyecto llegue a utilizar:

Código PHP:
include $_SERVER['DOCUMENT_ROOT'] . '/simula/capa_logica/controlCookies.php'

Desde ya muchas gracias.,
  #2 (permalink)  
Antiguo 03/08/2011, 12:12
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 8 meses
Puntos: 26
Respuesta: Sobre Include.

mmm si, es la idea, separar el proyecto en subcarpetas. El tema es que por ahí sucede lo siguiente:
1) Usando solo include() no validás si el fichero ya esta incluido en el proyecto, y en caso de estarlo te va a tirar errores, en esos casos es conveniente usar include_once().
2) Por otro lado, cuidado con las ubicaciones. Cuando usas include, le esta "pegando" el código a incluir en tu archivo "incluidor". Por lo que el directorio cambia y las rutas que definiste en tu archivo a incluir quedarían erradas. No se si se me entendió esto último.
Saludos.
  #3 (permalink)  
Antiguo 03/08/2011, 12:21
 
Fecha de Ingreso: junio-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: Sobre Include.

Cita:
Iniciado por ramiro_md Ver Mensaje
mmm si, es la idea, separar el proyecto en subcarpetas. El tema es que por ahí sucede lo siguiente:
1) Usando solo include() no validás si el fichero ya esta incluido en el proyecto, y en caso de estarlo te va a tirar errores, en esos casos es conveniente usar include_once().
2) Por otro lado, cuidado con las ubicaciones. Cuando usas include, le esta "pegando" el código a incluir en tu archivo "incluidor". Por lo que el directorio cambia y las rutas que definiste en tu archivo a incluir quedarían erradas. No se si se me entendió esto último.
Saludos.
Con respecto al punto 1... Si, utilizo include_once; me refería de forma gral a la función.
Y te entiendo perfectamente el punto 2). Es justamente el problema que tengo, como puedo hacer para tener rutas absolutas. O cual es la mejor forma de incluir para no tener problemas.

Muchas Gracias, Ramiro_md.
Saludos.
  #4 (permalink)  
Antiguo 03/08/2011, 12:53
 
Fecha de Ingreso: junio-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 6
Solucion correcta?

Pregunta, genere un archivo en el central que se llama rutas.php

y el codigo es:

Código PHP:
$ruta_absoluta $_SERVER['DOCUMENT_ROOT'] ."/libexxx/";

/*Capas*/
$capa_coneccion $ruta_obsoluta."capa_coneccion/";
$capa_objetos $ruta_obsoluta."capa_objetos/";
... 
El tema es que despues desde cada archivo llamo siempre al
Código PHP:
include_once("../rutas.php");

//para despues poder hacer:

include_once($capa_coneccion."class.coneccion.php"); 
Esto esta bien o hay una solución mejor.. Muchas Gracias.
  #5 (permalink)  
Antiguo 03/08/2011, 12:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Sobre Include.

Si te funciona está bien.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 03/08/2011, 13:04
 
Fecha de Ingreso: junio-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: Sobre Include.

jajajaja.. que respuesta de consultor... jajajajaaja.. Si, tenes razón.

Etiquetas: Ninguno
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 04:31.