Commit 0d09cc6d by Marco Da Silva

Update runtime-routing.md

correction to a php tag open
parent f08d6bab
......@@ -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
use yii\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
echo Url::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();
echo Url::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
[Instalación](start-installation.md#recommended-apache-configuration).
### Regalas de URL <a name="url-rules"></a>
Una regla de URL es una instancia de [[yii\web\UrlRule]] o de una clase hija. Cada URL consiste en un patrón utilizado
......@@ -314,6 +316,7 @@ se necesita a menudo cuando se quieren configurar otras propiedades de la regla
De forma predeterminada si no se especifica la opción `class` en la configuración de una regla, se utilizará la clase
predeterminada [[yii\web\UrlRule]].
### Parameters Asociativos <a name="named-parameters"></a>
Una regla de URL puede asociarse a una determinado grupo de parámetros de consulta que se hayan sido especificados en
......@@ -365,6 +368,7 @@ Y cuando las se usen las reglas para crear URLs:
reglas. Hay que tener en cuenta que si no se aplica ninguna de las reglas, la URL se genera simplemente añadiendo
la parte de información de la ruta y todos los parámetros como parte de la consulta.
### Parametrización de Rutas <a name="parameterizing-routes"></a>
Se pueden incrustar nombres de parámetros en la ruta de una regla de URL. Esto permite a la regla de URL poder ser
......@@ -418,6 +422,7 @@ La regla anterior puede usarse para convertir o crear cualquiera de las siguient
Sin usar ningún parámetro opcional, se tendrían que crear 4 reglas para lograr el mismo resultado.
### Reglas con Nombres de Servidor <a name="rules-with-server-names"></a>
Es posible incluir nombres de servidores Web en los parámetros de las URLs. Esto es practico principalmente cuando una
......@@ -506,6 +511,7 @@ siguiente configuración contiene una regla de URL personalizada que usa el sufi
]
```
### Métodos HTTP <a name="http-methods"></a>
Cuando se implementan APIs RESTful, normalmente se necesita que ciertas URLs se conviertan en otras de acuerdo con el
......@@ -531,6 +537,7 @@ convertirá en `post/view`.
de controladores. Para conocer más detalles, se puede visitar la sección [Enrutamiento](rest-routing.md) acerca de
el desarrollo de APIs RESTful.
### Personalización de Reglas <a name="customizing-rules"></a>
En los anteriores ejemplos, las reglas de URL se han declarado principalmente en términos de pares de patrón-ruta.
......@@ -554,6 +561,7 @@ array completo de configuración para especificar una regla. El siguiente ejempl
> Información: De forma predeterminada si no se especifica una opción `class` para una configuración de regla, se
usará la clase predeterminada [[yii\web\UrlRule]].
### Adición de Reglas Dinámicamente <a name="adding-rules"></a>
Las reglas de URL se pueden añadir dinámicamente en el [[yii\web\UrlManager|URL manager]]. A menudo se necesita por
......@@ -649,4 +657,4 @@ especificas y/o las que se usen más a menudo.
Si algunas URLs comparten el mismo prefijo en sus patrones o rutas, se puede considerar usar [[yii\web\GroupUrlRule]]
ya que puede ser más eficiente al ser examinado por [[yii\web\UrlManager|URL manager]] como un grupo. Este suele ser
el caso cuando una aplicación se compone por módulos, y cada uno tiene su propio conjunto de reglas con un ID de
módulo para sus prefijos más comunes.
\ No newline at end of file
módulo para sus prefijos más comunes.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment