Foros del Web » Programando para Internet » PHP »

require dentro de if causa error

Estas en el tema de require dentro de if causa error en el foro de PHP en Foros del Web. Buen día a todos, tengo un problema peculiar que concierne a un require_once dentro de un if que genera un "fatal error" a pesar de ...
  #1 (permalink)  
Antiguo 27/11/2014, 13:53
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Exclamación require dentro de if causa error

Buen día a todos, tengo un problema peculiar que concierne a un require_once dentro de un if que genera un "fatal error" a pesar de que funciona.

Estoy armando una web multiligue, la cual el idioma (es - en) es pasado como parametro en la URL, luego, dentro de if el cual, segun el idioma elegido, debe cargar uno u otro archivo que contiene funciones especificas según el idioma, el if tiene la siguiente forma

Código PHP:
if ($lang == 'es'){
    require_once 
"funciones_es";
}
elseif(
$lang == 'en'){
    require_once 
"funciones_en";

Las funciones son llamadas correctamente, por ejemplo, una de ellas es algo como:

Código PHP:
function getTitle($parametro){
    return 
"Titulo en español con el parametro ".$parametro

la cual la uso para generar el título de la página que sería algo asi como

Código HTML:
Ver original
  1. <title><?php echo getTitle($NomPais); ?></title>

Como se puede apreciar la función es utilizada para generar el title de la pagina

Ahora detallo mi problema, todo funciona correctamente, se genera el title en ambos idiomas y se muestran con normalidad... peroooo... en el servidor esta generando el siguiente error_log

Código:
Call to undefined function getTitle() in /home/dominio/public_html/COUNTRIES/es/pais.php on line 24
Dicha linea es precisamente el

Código HTML:
Ver original
  1. <title><?php echo getTitle($NomPais); ?></title>

Luego de darle muchas vueltas al asunto, no logro encontrar solución alguna, haciendo algunas modificaciones me di cuenta de que el require_once, cuando esta fuera del if no genera el error.

Alguien que me pueda dar una mano porfavor

Gracias de antemano.
__________________
Mi web --> www.CarlosPC.net
  #2 (permalink)  
Antiguo 27/11/2014, 14:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: require dentro de if causa error

El asunto es que algún otro proceso puede estar invocando dicho script y es imposible adivinar el origen de dicha invocación sin conocer el stack de ejecución.

Si pudieras obtener dicho stack sería más fácil, de otra forma veo complicado deducir algo a simple vista.

PDTA: evita duplicar temas, eso no está permitido, por favor consulta las normas del foro.

Duplicado: http://www.forosdelweb.com/f18/php-f...ction-1113753/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/11/2014, 14:52
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: require dentro de if causa error

Disculpa la ignorancia, a que te refieres con un stack de ejecución? es la única linea que invoca a esa función, ya revise mi hoja, recién voy con 3 funciones las cuales solo se llamó una vez cada una
__________________
Mi web --> www.CarlosPC.net
  #4 (permalink)  
Antiguo 27/11/2014, 15:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: require dentro de if causa error

El stack de ejecución es un registro de los scripts, funciones, lineas, etc. que han sido invocados desde el inicio del proceso hasta determinado punto de ejecución.

Dicho punto puede ser marcado por un error, una interrupción del proceso o incluso puede ser invocado manualmente con debug_print_backtrace(): http://php.net/manual/es/function.de...-backtrace.php

La idea es que al ocurrir un error se lance no sólo el mensaje de error sino también el stack completo, ¿para qué?

Para determinar la ruta del error y revisar si dicha ejecución es correcta.

Así que te sugiero investigues al respecto y obtengas dicha información del error que tienes, de otra forma de verdad será imposible entender las causas del mismo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/11/2014, 15:14
Avatar de carlospc  
Fecha de Ingreso: noviembre-2008
Ubicación: Huancayo/Perú
Mensajes: 240
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: require dentro de if causa error

Ok ahora mismo busco, gracias, cualquier duda vuelvo
__________________
Mi web --> www.CarlosPC.net

Etiquetas: fatal, require_once
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 13:37.