Foros del Web » Programando para Internet » PHP »

Pregunt@ novel sobre transformar variable texto llano a variable php.

Estas en el tema de Pregunt@ novel sobre transformar variable texto llano a variable php. en el foro de PHP en Foros del Web. Amigos que tal. No supe que título poner pero haber si me entienden con un ejemplo: Supongamos que tengo un archivo php, donde coloco la ...
  #1 (permalink)  
Antiguo 03/12/2011, 15:53
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Pregunt@ novel sobre transformar variable texto llano a variable php.

Amigos que tal.

No supe que título poner pero haber si me entienden con un ejemplo:

Supongamos que tengo un archivo php, donde coloco la traducción a cierto idioma de los errores que puede mandar una función.

ej.

es.php
Código PHP:
Ver original
  1. $lang['empty'] = "TU $campo está vacio no lo puedes dejar así =D";


Y la función:

Código PHP:
Ver original
  1. require_once("es.php");
  2.  
  3. function validarCampo($campo){
  4. if(empty($_POST[$campo]) echo $lang['empty'];
  5. }

¿Bueno con ese ejemplo me doy a entender?

Necesito que la variables que ponga en el archivo idioma sean interpretadas por PHP pero no en el mismo script...


* Intente escapar la variable con un slash y luego usar stripslashes:

es.php
Código PHP:
Ver original
  1. $lang['empty'] = "TU \$campo está vacio no lo puedes dejar así =D";

Código PHP:
Ver original
  1. require_once("es.php");
  2.  
  3. function validarCampo($campo){
  4. if(empty($_POST['campo']) echo stripslashes($lang['empty']);
  5. }

Es un ejemplo, si me puede alguien orientar se lo agradeceré.

Saludos.
===========================
P.D: En mi vida he visto algo como ésto por eso creo que no se puede pero ustedes dirán.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 03/12/2011, 15:59
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Pregunt@ novel sobre transformar variable texto llano a variable php.

tu problema es que la variable no tiene alcance superglobal, el ámbito en PHP es diferente de la de otros lenguajes, si no defines como superglobal una variable global, ésta no será accedida ni solapada por una función, o puedes añadirla al arreglo de superglobales, o utilizar la palabra reservada global dentro de la función, consulte el manual de PHP:

Código PHP:
Ver original
  1. require_once("es.php");
  2.  
  3. function validarCampo($campo){
  4. global $lang; //habilita el acceso a la variable global / no hace falta para superglobales como $_POST
  5. if(empty($_POST['campo']) echo stripslashes($lang['empty']);
  6. }
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/12/2011, 16:19
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Respuesta: Pregunt@ novel sobre transformar variable texto llano a variable php.

muchas gracias amigo hubiera tardado días en dar con la respuesta por mi cuenta .

He estado leyendo sobre esto en el manual y me ha entrado la siguiente duda, es referente a mi código más parecido a lo que tengo. POO

mira te pongo un pequeño ejemplo espero me puedas echar una mano realmente te lo voy a agradecer.


Language.class.php
Código PHP:
Ver original
  1. class Language {
  2.       public $pass = array();
  3.  
  4.       function Language(){
  5.       $this->pass['error']['length'] = "La contraseña tiene que ser min de $minLen y max de $maxLen caracteres.";
  6.        }
  7.  
  8. }


funcion principal
Código PHP:
Ver original
  1. require_once 'Language.php';
  2.  
  3. class Validation extends Language {
  4.  
  5.  
  6.     function validar($pass){
  7.  
  8.     $minLen = 8;
  9.     $maxLen = 20;
  10.  
  11.      if(empty($pass)) echo $this->pass['error']['length'];
  12.     }
  13. }


Que te parece?
Como lo harías en un caso como éste?

Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 03/12/2011, 16:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Pregunt@ novel sobre transformar variable texto llano a variable php.

en primer lugar tratas de implementar un sistema de mensajes de error por idioma, donde NO defines el idioma como tal, replantea tu modelo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 03/12/2011, 17:02
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Respuesta: Pregunt@ novel sobre transformar variable texto llano a variable php.

no no, es un ejemplo. No lo veas así solo tómalo como ejemplo :D.

Como lo harías de está form?
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #6 (permalink)  
Antiguo 03/12/2011, 20:11
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Respuesta: Pregunt@ novel sobre transformar variable texto llano a variable php.

muy bien. Ya está solucionado, muchas gracias =D

-----------------------------------------------------
Super Globales fue lo que ocupé.


Para los demás: Una solución es:

1.- Registrar las variables superglobales y setearlas antes de instanciar cualquier objeto que las utilice.

2.- Se me ocurre un ejemplo más sencillo.

Código PHP:
Ver original
  1. $GLOBALS['nombrevariable'];

ejemplo:


archivo1.php
Código PHP:
Ver original
  1. global $variable;
  2.  
  3. $variable = "valor";
  4.  
  5. header("location: archivo2.php");


archivo2.php
Código PHP:
Ver original
  1. echo $globals['variable'];
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #7 (permalink)  
Antiguo 03/12/2011, 23:58
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Pregunt@ novel sobre transformar variable texto llano a variable php.

Creo que sería más fácil si usas sprintf()

Código PHP:
Ver original
  1. $lang['empty'] = "TU %s está vacio no lo puedes dejar así =D";
  2.  
  3. // Después, para mostrar el error:
  4. echo sprintf($lang['empty'], 'aquí el nombre del campo');

Me parece que esto es más sencillo que enredarte con $GLOBALS, además, como ya te comentó myacolalvarez, en POO es recomendable olvidarse que existe la directiva global y, en su lugar, crear objetos/propiedades que, de paso, te ayudarán a saber dónde definiste cada cosa.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 04/12/2011, 08:36
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Respuesta: Pregunt@ novel sobre transformar variable texto llano a variable php.

oh si, Eso si que me gusta mas =D. Nunca pensé en eso??

jeje.

Muchas gracias Triby.

Te mando un saludo amigo.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Etiquetas: llano, transformar, variables
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:51.