Asignar variables a una clase dinámicamente
(Nivel 2 - 45 posts) |
Hola.
Veréis, tengo una clase para "renderizar" el html. De momento, le envio un array que contiene las variables que quiero imprimir luego en las plantillas. El caso es que para hacerlo más sencillo de usar, me gustaría que en lugar de ser un array genérico que contenga los valores, que fueran variables de clase las que contengan los datos a imprimir. La clase se llama render. Un ejemplo de como la uso: Código PHPComo véis, $salida es la variable que uso para enviar los datos, pero me gustaría poder asignar variables al objeto de manera dinámica. Un ejemplo de lo que os digo: Código PHPHaría un metodo "set" que se encargaría de crearme dichas variables. Como veis, envío solo la variable, no me importaría tener que enviar nombre también (render::set($titulo,'titulo');) aunque yo creo que es redundante. Bien, hasta ahora lo que he hecho es: intentar sacar el nombre de la variable como string, para saber con que nombre asignar la variable. Resultado: FAIL. He buscado en varios sitios y hay una función que parece funciona (var_name, creada por un user en el manual php de variable) pero no sé porque me funciona de manera "simple" pero no al llamarla desde una clase. Sabéis alguna otra manera? Y lo más chungo, crear dinámicamente la variable de clase. He probado con eval() intentando construir la sentencia, ejemplo: self::$ejemplo = 'valor'; (self porque ya estaría en la clase render y valor iría como variable, no como string, es sólo ejemplo). Pero falla también. La idea es una vez usada, hacer un unset de dicha variable para limpiar la memoria. Evidentemente, tampoco me sirve declararlas en la clase... ya que tendrá un uso dinámico. Alguien puede ayudarme/orientarme? Gracias! select * from girls where sex='free' |
