Una duda de sintaxis (PHP)

edited marzo 2008 in PHP
Supongo que esto tendría que preguntarlo en el subforo de desarrollo, pero como no sabía bien dónde debía preguntar, lo hago aqui.

En forms->controller->application_controller.php he encontrado en la función render el siguiente código:
function render($view){		
		if(file_exists("views/{$_REQUEST['controller']}/$view.phtml")){
			if(is_array(kumbia::$models)){
				foreach(kumbia::$models as $model_name => $model){
				 	$$model_name = $model;
				}
			}
			foreach($this as $var => $value){
				$$var = $value;
			}			
			include "views/{$_REQUEST['controller']}/$view.phtml";
		} else {
			Flash::kumbia_error('<u>KumbiaError: No existe la Vista</u><br>
						  <span style="font-size:16px">Kumbia no puede encontrar la vista "'.$view.'"
						  </span>');
		}
	}

Nunca había visto eso de $$var . ¿Qué es esto de poner dos $ delante de una variable? ¿es para asignar un nombre variable a una variable?

Comentarios

  • edited 11:08
    Se utiliza para escribir dinamicamente codigo php, aprovechando que este es un lenguaje interpretado, por ejemplo:

    Si tiene $var='nombre'
    Para el interprete al hacer $$var = 'emilio'
    Realmente estas haciendo $nombre = 'emilio'

    Es decir se escribe dinamicamente el codigo. <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->

    Es muy parecido a lo que sucede con la funcion eval en javascript

    Saludos
  • edited 11:08
    Gracias Emilio, ya lo entendí.
Sign In or Register to comment.