@@ -6,8 +6,7 @@ Cuando una aplicación Yii empieza a procesar una URL solicitada, lo primero que
[acción de controlador](structure-controllers.md) correspondiente para gestionar la petición. A este proceso se
le llama *enrutamiento*.
El proceso inverso se llama *creación de URLs*, y crea una URL a partir de una ruta dada y unos parámetros de consulta
(query) asociados. Cuando posteriormente se solicita la URL creada, el proceso de enrutamiento puede resolverla y
El proceso inverso se llama *creación de URLs*, y crea una URL a partir de una ruta dada y unos parámetros de consulta (query) asociados. Cuando posteriormente se solicita la URL creada, el proceso de enrutamiento puede resolverla y
convertirla en la ruta original con los parámetros asociados.
La principal pieza encargada del enrutamiento y de la creación de URLs es [[yii\web\UrlManager|URL manager]], que se
...
...
@@ -20,7 +19,8 @@ Configurando el componente `urlManager` en la configuración de la aplicación,
reconocimiento arbitrario de formatos de URL sin modificar el código de la aplicación existente. Por ejemplo, se
puede usar el siguiente código para crear una URL para la acción `post/view`:
``` php use yii\helpers\Url;
``` php
useyii\helpers\Url;
// Url::to() llama a UrlManager::createUrl() para crear una URL
$url=Url::to(['post/view','id'=>100]);
...
...
@@ -36,6 +36,7 @@ los parámetros.
/posts/100
```
## Formatos de URL <a name="url-formats"></a>
El [[yii\web\UrlManager|URL manager]] soporta dos formatos de URL: el formato predeterminado de URL y el formato URL
...
...
@@ -85,11 +86,8 @@ acción. Empezando por la primera parte de la ruta, la aplicación, sigue los si
módulo actual. Si está listado, se crea un modulo de acuerdo con la configuración encontrada en el listado de
módulos, y se seguirá el Paso 2 para gestionar la siguiente parte de la ruta bajo el contexto de la creación de un
nuevo módulo.
4. Trata el ID como si se tratara de un ID de controlador y crea un objeto controlador. Sigue el siguiente paso con la
parte restante de la ruta.
5. El controlador busca el ID en su [[yii\base\Controller::actions()|action map]]. Si lo encuentra, crea una acción de
acuerdo con la configuración encontrada en el mapa. De otra forma, el controlador intenta crear una acción en linea
definida por un método de acción correspondiente al ID actual.
4. Trata el ID como si se tratara de un ID de controlador y crea un objeto controlador. Sigue el siguiente paso con la parte restante de la ruta.
5. El controlador busca el ID en su [[yii\base\Controller::actions()|action map]]. Si lo encuentra, crea una acción de acuerdo con la configuración encontrada en el mapa. De otra forma, el controlador intenta crear una acción en linea definida por un método de acción correspondiente al ID actual.
Si ocurre algún error entre alguno de los pasos anteriores, se lanzará una excepción de tipo
[[yii\web\NotFoundHttpException]], indicando el fallo de proceso de enrutamiento.
...
...
@@ -108,6 +106,7 @@ aplicación como en el siguiente ejemplo:
];
```
### Ruta `catchAll` <a name="catchall-route"></a>
A veces, se puede querer poner la aplicación Web en modo de mantenimiento temporalmente y mostrar la misma pagina de
...
...
@@ -201,6 +200,7 @@ echo Url::to('@example');
// una URL absoluta: http://example.com/images/logo.gif
echoUrl::to('/images/logo.gif',true);```
```
Además del método `to()`, la clase auxiliar [[yii\helpers\Url]] también proporciona algunos otros métodos de creación
de URLs. Por ejemplo,
...
...
@@ -221,6 +221,7 @@ echo Url::canonical();
echoUrl::previous();
```
## Uso de URLs Amigables <a name="using-pretty-urls"></a>
Para utilizar URLs amigables, hay que configurar el componente `ulrManager` en la configuración de la aplicación como
...
...
@@ -263,6 +264,7 @@ amigable. El resto de propiedades son opcionales. Sin embargo, la anterior confi
Si se usa el servidor Web Apache, se puede utilizar la configuración recomendada descrita en la sección de