Veamos como pasar valores por la URL en Yii Framework, la forma de proceder es una mezcla entre lo que hace Codeigniter y lo que hace Zend Framework 2.
En Codeigniter podemos pasar tantos parámetros por la URL como queramos sin definiros en ningún sitio y los recibimos como parámetro en los métodos Action.
En ZF2 tenemos que definir los parámetros que pueden ser utilizados por la URL en un fichero de configuración y utilizamos un método para coger esos valores de la URL.
En Yii recibimos los valores de la misma forma que lo hacemos en Codeigniter y tenemos que definir esos posibles parámetros en un fichero de configuración de una forma algo peor pero similar a como lo hacemos en ZF2.
Ejemplo:
<?php //Controlador class HolaMundoController extends Controller{ //pasamos parámetros opcionales que llegan por la URL public function actionGotham($id=null,$id2=null,$id3=null){ $bruce = "Parámetro 1: ".$id."<br/>"; $bruce .= "Parámetro 2: ".$id2."<br/>"; $bruce .= "Parámetro 3: ".$id3."<br/>"; //Renderizamos la vista llamada city y le pasamos el parámetro hola $this->render('city',array( "hola"=>$bruce )); } } ?>
Para utilizar estos parámetros tenemos que configurarlos en el urlManager del fichero protected/config/main.php
Aquí también hemos definido mediante expresiones regulares los datos que admiten los valores que se van a recibir por la URL.
El parámetro id estará formado solo por números.
El parámetro id2 estará formado por cualquier cosa, sin ningún tipo de filtro.
El parámetro id3 estará formado por letras repetidas un número indefinido de veces seguido de letras mayúsculas, minúsculas, números o guiones repetidos un número indefinido de veces.
Más información:
http://www.yiiframework.com/doc/guide/1.1/es/topics.url
http://stackoverflow.com/questions/6229624/how-to-use-optional-parameters-in-yii-url-manager