php - rutas - Marco Yii: Controlador/URL de acción y parámetros
yii2 español (3)
Necesitará poner patrones de reglas en el componente urlManager:
Documentación de Yii Framework: url
Tu configuración debería verse más o menos así:
array(
......
''components''=>array(
......
''urlManager''=>array(
''urlFormat''=>''path'',
''rules''=>array(
''api/users/<id>''=>''api/users'',
),
),
),
);
A continuación, puede obtener el valor por:
$id = Yii::app()->getRequest()->getQuery(''id'');
En mi aplicación, tengo ApiController
con actionUsers
, entonces en YII la ruta se convierte en api/users
. Ahora, para obtener cierta información de los usuarios, utilizo la siguiente ruta api/users/id/10
donde 10 es el id
de api/users/id/10
y la parte de id
de la ruta es básicamente un parámetro GET ( api/users?id=10
).
¿Hay alguna manera de hacer lo mismo sin la parte id
de la ruta, es decir, quiero que mi ruta se vea como api/users/10
?
¡Gracias!
Prueba esto......
$id = Yii::app()->request->getParam(''id'');
Además de la respuesta de @shiki también puedes hacer esto
array(
......
''components''=>array(
......
''urlManager''=>array(
''urlFormat''=>''path'',
''rules''=>array(
''api/users/<id>''=>''api/users'',
),
),
),
);
y en acción
public function actionUsers($id=null) // argument variable should same as in urlmanager
{
echo $id;
}