Foros del Web » Programando para Internet » PHP »

Que metodo es mejor para definir la ruta base?

Estas en el tema de Que metodo es mejor para definir la ruta base? en el foro de PHP en Foros del Web. Buenas, Mi problema es que mi organizacion de los ficheros es algo liosa, debido a que esta todo tan ordenado, que para acceder a un ...
  #1 (permalink)  
Antiguo 18/05/2007, 13:27
 
Fecha de Ingreso: diciembre-2006
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Que metodo es mejor para definir la ruta base?

Buenas,
Mi problema es que mi organizacion de los ficheros es algo liosa, debido a que esta todo tan ordenado, que para acceder a un archivo 3 directorios mas arriba hacia ../../../, pero claro, cuando ademas metes includes y tal... como no uses la ruta completa al final salen 3000 errores.
Mi primera pregunta es: Cual de estos 2 metodos es mejor para obtener la ruta base en todos los archivos?
- Metodo 1:
Incluir en todos los ficheros el siguiente codigo:
Código:
<?
$ruta_add = "/alex/algo.php";
$ruta_abs = str_replace($ruta_add, "", __FILE__);
echo $ruta_abs;
?>
Asi, suponiendo de que __FILE__ diera /opt/...../alex/algo.php, al reemplazar lo ultimo me daria la ruta base de mi carpeta inicial.
Lo malo de este metodo es evidente: repetitivo codigo en 2000 ficheros que abulta espacio.
tambien me lo plantee con substr... esta bien asi o hay una forma mejor de quitarle las 2 palabras que sobran de esa ruta?
- Metodo 2:
Incluir en el .htaccess:
Código:
<FilesMatch "\.(php)$"> 
 php_value short_open_tag "Off"
 php_value auto_append_file "/opt/...../alex/config.php"
 </FilesMatch>
y que en config.php haya una variable con el valor de la ruta absoluta.
Y en este caso lo malo seria la obligacion a usar .htaccess, que muchos hosts no lo permiten, y que se incluya hasta en los ficheros no necesarios y peligrosos en algunos casos...

Muchas gracias por leer al menos :). Agradezco tanto que se me aconseje cual de los 2 usar, como optimizar el primer metodo, que seguro hay alguna forma mas sencilla... como dar alguna otra opcion para obtener la ruta base... (DOCUMENT_ROOT no funciona ni similares por la config del host).
Otra preguntilla: dado a que veo que mucha gente no tiene ese problema de las rutas... como hacen ustedes para organizar la web? escalar como maximo a 1 dir inferior?

Saludos y muchisimas gracias.
PD: Perdonen ortografia por el teclado ingles.
  #2 (permalink)  
Antiguo 18/05/2007, 14:46
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Que metodo es mejor para definir la ruta base?

Y si la usas absoluta con algo como?
Código PHP:
dirname(realpath(__FILE__)) ; 
PD: no leí todo, si preguntas otra cosa sorry..
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 18/05/2007, 17:48
 
Fecha de Ingreso: diciembre-2006
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Que metodo es mejor para definir la ruta base?

Eso solo me devolveria el dir actual, no la ruta de 3 dir mas arriba que seria la raiz de mi web.

Saludos y grax por contestar.
  #4 (permalink)  
Antiguo 18/05/2007, 18:06
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Que metodo es mejor para definir la ruta base?

Hola:
Hay miles de posibilidades pero te aconsejo que en un config.php pongas una constante PATH (o como quieras llamarle) con la ruta completa de tu script y desde allí en las diferentes páginas la vas llamando y completando:

Código PHP:
$path PATH.'/carpeta1/carpeta2/archivo.php'
Creo que es la forma más sencilla, de todas formas, sigue siendo mi punto de vista.

Saludos
  #5 (permalink)  
Antiguo 18/05/2007, 18:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Que metodo es mejor para definir la ruta base?

Eso es lo que hacia hasta ahora, pero si el config.php esta en la raiz, cuando estes en 3 subdirs, lo llamaras ../../../config.php, y si luego incluyes ese archivo desde otro sitio las ../ no hacen el mismo efecto y se lia...
  #6 (permalink)  
Antiguo 18/05/2007, 18:40
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Que metodo es mejor para definir la ruta base?

Claro no se como estas programando pero por lo que veo estas navegando páginas php independientes o sea no usas una index.php de matriz que llama al resto.

No se si me explico.
De otra manera solo te queda poner los ../../....... o la ruta completa home/web/dominio/ .

Saludos.
  #7 (permalink)  
Antiguo 18/05/2007, 18:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Que metodo es mejor para definir la ruta base?

Sip, es que soy demasiado organizado, lo tengo todo en subcarpetas, y como dices solo puedo hacer ../ o ruta completa o dominio, y como ../ no quiero por que al hacer varios includes se lia, pues solo me queda la ruta, y queria calcularla automaticamente ... en mi primero post de este tema puse un metodo que yo pense... hay mejor forma? o ese es la unica?

Por cierto me gustaria ver la estructura de una web que no necesariamente use un index.php para invocar todo... no entiendo como hacen una organizacion buena y no tener mis problemas jeje.

Saludos y grax.
  #8 (permalink)  
Antiguo 18/05/2007, 19:11
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Que metodo es mejor para definir la ruta base?

Mmh.. lo quieres para hacer includes? Has probado la directiva include_dir?

ini_set('include_dir', 'carpeta/');

Y ya de ahi todos los includes los haces partiendo de esa ruta.. o eso creo xD

Investigalo, yo lo he usado varias veces, pero ahorita no puedo epxlicarlo mas XD
__________________
Sin Ideas
  #9 (permalink)  
Antiguo 18/05/2007, 20:47
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Que metodo es mejor para definir la ruta base?

Leyendo un poco...ahora sí, yo para evitar eso ejecuto siempre a nivel root.
Son maneras de trabajar, y siempre hablando de grandes proyectos. Viste por ejemplo métodos como este?:
http://www.forosdelweb.com/showthrea...ght=namespaces

Hay varios threads en el foro de oop hablando sobre estructura de dirs de varios niveles.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #10 (permalink)  
Antiguo 18/05/2007, 21:55
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Que metodo es mejor para definir la ruta base?

proalex:

Me parece espectacular que seas organizado ya que si no cuando tu sistema se haga muy grande puedes tener verdaderos problemas.

Pero usar un index.php que se encargue de engarzar todo no tiene por qué afectar a tu organización. Es más puede favorecer a que no tengas el problema que tienes ahora sin afectar en nada a tu organización particular.


Te muestro esquemáticamente como funcionaría:

supongamos que en tu root tienes tres carpetas:

1) clientes
2) vendedores
3) proveedores

con sus archivos respectivos.

Ahora en el root tienes el index.php de esta manera:
Código PHP:
<?php
 
include("config.php"); // Lo tendrás que incluir una sola vez, ahi figura la constante PATH
 
include(PATH."/".$_GET['seccion']."/index.php");
 
?>
Obviamente a este pequeño ejemplo habría que implementarle SEGURIDAD, solo es un pequeño ejemplo esuqemático.

Sólo debes poner en tu URL lo siguiente:

www.tu-dominio.com/index.php?seccion=proveedores

Y de esa manera el index.php abrirá dentro de la carpeta proveedores su index.php respectivo.

Y para TODO el sitio ya dispones de la configuración del config.php.

Espero haber ayudado en algo.
Seguimos en contacto.
  #11 (permalink)  
Antiguo 19/05/2007, 02:58
 
Fecha de Ingreso: diciembre-2006
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Que metodo es mejor para definir la ruta base?

Buenos dias,
Respecto a include_dir y lo de namespaces son para incluir un directorio, y para llamarlos ya tendria que saber la ruta absoluta en todos los ficheros no?
Y lo de programacion modular con index.php me lo pensare de nuevo.... no lo quise hacer asi por que queria una base de codigo que permitiera ampliarla sin muchos problemas en un futuro, y si utilizas index.php con SEGURIDAD (que solo procese ciertos parametros... el archivo se hace muy extenso no?

Muchas gracias, seguire viendo lo que recomendasteis.
  #12 (permalink)  
Antiguo 19/05/2007, 06:33
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Que metodo es mejor para definir la ruta base?

Hola,
Que sea pesado o no va a depender de tu estrategia de programación. Pero que maneje variables y seguridad para manejar la web modularmente no le afecta en nada. Y podrás ampliar tu web luego sin dificultad.

Es como hacer una pequeña matriz (por no decirte un mini framework - si trabajas en poo) donde todas las modularidades se pueden instalar y potenciar.

Quedo a tu disposición
  #13 (permalink)  
Antiguo 19/05/2007, 10:18
 
Fecha de Ingreso: diciembre-2006
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Que metodo es mejor para definir la ruta base?

Bueno, muchas gracias a todos por responder aportando tanta informacion util, me pondre manos a la obra y veremos como sale mi pequeno sistema jeje, y si sale bien lo publicare por si a alguien le hace falta, aunque no creo que haga ninguna obra maestra

Lo dicho, nos vemos en el foro y muchisiiiimas gracias
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 03:32.