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

Capturar nombre de variable pasada a una funcion

Estas en el tema de Capturar nombre de variable pasada a una funcion en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola gente, como estan, queria saber si hay alguna forma de saber el nombre de la variable que le pasas a una funcion. Puede ser ...
  #1 (permalink)  
Antiguo 12/09/2009, 23:41
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Capturar nombre de variable pasada a una funcion

Hola gente, como estan, queria saber si hay alguna forma de saber el nombre de la variable que le pasas a una funcion. Puede ser que con la nuevas caracteristicas de php que agrega el tema de reflection se pueda hacer,pero no encontré la forma. Para ser mas claro pongo un codigo con la idea.
Código:
class A{

function hola($param){

echo get_nombre_variable($param); /esto debería imprimir '$hola' ( el método get_nombre_variable no existe, es lo que necesito saber )

}


}

$a = new A();
$hola = "HOLA COMO ANDAS";
$a->hola($hola);
Bueno,espero que me puedan ayudar. Gracias y saludos.
  #2 (permalink)  
Antiguo 13/09/2009, 08:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Capturar nombre de variable pasada a una funcion

lo que intentas no se puede....

incluso, ¿porque no revisas el manual de PHP??
http://php.net/reflection

ya que la clase Reflection solo funciona para objetos/clases... para variables comunes (escalares) no hay forma...


suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/09/2009, 12:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Capturar nombre de variable pasada a una funcion

Pateketrueke gracias por tu respuesta, la clase reflection también sirve para funciones por eso preguntaba sobre la misma, de todas formas parece que no se puede hacer con la misma, voy a ver si encuentro alguna forma de hacerlo y comparto la solución. Espero mas ideas, Saludos.
  #4 (permalink)  
Antiguo 14/09/2009, 11:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Capturar nombre de variable pasada a una funcion

Hola gente, encontré una forma de resolver mi problema, usando la función get_defined_vars que trae php. Por ahora solo logre ver las variables retornando esta función ( mas abajo pongo el código). Lo que necesito es lograr sacar esta función y ponerla para que se ejecute sola, probé de varias formas pero no logre hacerlo ya que la función todo el scope en donde se ejecuta. Aclaro que necesito obtener las variables desde la clase padre. Espero que me puedan ayudar, muchas gracias, saludos.




class A{

function ver_variables(){

$variables = $this->mostrar();


}

}

function B extends A
{

funcion mostrar(){

$hola = "efwfwe";
$chau = "fewwfefw";

return get_defined_vars();
}


}
  #5 (permalink)  
Antiguo 14/09/2009, 18:15
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Capturar nombre de variable pasada a una funcion

... ... primero, tu código no tiene mucho sentido.

Fuera de eso, lo que haces es retornar las variables utilizadas dentro de un método, ni siquiera las propiedades de un objeto, ni la variable pasada como parámetro que mencionaste era tu objetivo en tu primer mensaje.

Personalmente no me queda clara la intención. Si el objetivo es conocer la variable pasada como parámetro de una función/método, solo se me ocurre podrías conseguirlo si el código está bien documentado y tiene su docblock declarando dicho parámetro adecuadamente. De otra manera, sería parsear el código ... pero, fuera de algo relacionado con la documentación, no me imagino la intención de conocer el nombre de una variable (cuya propia naturaleza es la de ser un dato independiente) ... ¿cuál es el propósito de esto?

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 14/09/2009, 19:44
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Capturar nombre de variable pasada a una funcion

Jam1138 gracias por tu interés en el tema,el propósito es saber las variables que están dentro de un método, para luego saber el tipo de variable que es y generar javascript automáticamente. Es medio complicado explicarlo, pero es para el desarrollo de un framework . Al principio pensé en tomar el nombre de las variables cuando se las paso a una función/metodo, pero luego me di cuenta que la forma que encontré era buena, ya que esa función me devuelve todas la variables y puedo saber de que tipo de variables se trata.

El framework prevee el manejo de eventos,generando automáticamente el javascript. Debajo un ejemplo de como funciona:


class pagina_principal extends interface
{


public function main(){

$a = new link('a');
$a->setLabel('Apretar:');
$a->on('click','a_onclick');
$this->add($a);

return get_defined_vars();

}

public function txt_onclick(){

$msg = new alert($a->getValue());
$msg->show();

}


}

La clase interface es la encargada de generar todo el código.

Las salida es algo como esto


<html>

<body>

<script>
var a = new link('a');
function a_onclick(){
var msg = new alert(a.getValue());
msg.show();

}

</script>

<input type="text" id="a" onclick="a_onclick()"/>

</body>


</hml>

El código es de ejemplo. Espero que se entienda la idea. Saludos.
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 00:12.