<?xml version="1.0" encoding="UTF-8"?>
    <!-- EN-Revision: 24249 -->
    <!-- Reviewed: no -->
<sect3 id="zend.controller.router.routes.static">
    <title>Zend_Controller_Router_Route_Static</title>

    <para>Los ejemplos sobre todo usan rutas dinámicas -- rutas que contienen
        patrones contra los
        cuales comparar. A veces, sin embargo, una ruta en
        particular pareciera estar seteada en
        piedra, y ejecutar el motor de
        expresiones regulares sería excesivo. La respuesta a esta
        situación es
        utilizar rutas estáticas:</para>

    <programlisting language="php"><![CDATA[
$route = new Zend_Controller_Router_Route_Static(
    'login',
    array('controller' => 'auth', 'action' => 'login')
);
$router->addRoute('login', $route);
]]></programlisting>

    <para>
        La ruta anterior se comparará con una
        <acronym>URL</acronym>
        de
        <filename>http://domain.com/login</filename>
        , y hará un dispatch a
        <methodname>AuthController::loginAction()</methodname>
        .
    </para>

    <note id="zend.controller.router.routes.static.warning">
        <title>Advertencia: Las Rutas Estáticas Deben Contener Defaults
            Sanos</title>

        <para>
            Dado que una ruta estática no pasa ninguna parte de la
            <acronym>URL</acronym>
            del objeto solicitud, como ser los
            parámetros, usted
            <emphasis>debe</emphasis>
            pasar todos los
            parámetros necesarios para enviar una solicitud a la ruta como si
            fuera
            por defecto. Omitiendo los valores por defecto de "controller"
            o "action" tendrá
            resultados inesperados, y probablemente el
            resultado de la solicitud no sea ejecutable.
        </para>

        <para>Como regla general, siempre proporcione cada uno de los
            siguientes valores por defecto:</para>

        <itemizedlist>
            <listitem>
                <para>controller</para>
            </listitem>
            <listitem>
                <para>action</para>
            </listitem>
            <listitem>
                <para>module (si ya no está por defecto)</para>
            </listitem>
        </itemizedlist>

        <para>Opcionalmente, también puede pasar el parámetro
            "useDefaultControllerAlways" al front
            controller durante el
            bootstrapping:</para>

        <programlisting language="php"><![CDATA[
$front->setParam('useDefaultControllerAlways', true);
]]></programlisting>

        <para>Sin embargo, esto es considerado un rodeo; siempre es mejor
            definir explícitamente
            valores correctos o sanos por defecto.
       </para>
    </note>
</sect3>
