<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 15617 -->
<!-- Reviewed: no -->
<sect3 id="zend.controller.router.routes.static">

    <title>Zend_Controller_Router_Route_Static</title>

    <para>
        Les exemples ci-dessus utilisent des routes dynamiques - routes qui contiennent des
        motifs pour chercher des correspondances. Seulement, parfois, une route particulière est
        marquée en dur, et mettre en marche le moteur d'expression régulière serait inutile. La
        réponse à cette situation est l'utilisation de routes statiques&#160;:
    </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 route ci-dessus correspond à l'URL <code>http://domain.com/login</code>, et
        distribue l'action <code>AuthController::loginAction()</code>.
    </para>

    <note id="zend.controller.router.routes.static.warning">
        <title>
            ATTENTION : Les routes statiques doivent contenir des valeurs par défaut
            saines
        </title>
        <para>
            Puisqu'une route statique ne fournit aucune partie de l'URL à l'objet de requête
            en tant que paramètres, vous <emphasis>devez</emphasis> fournir par défaut pour la
            route tous les paramètres nécessaires à la distribution de la requête. Oubliez les
            valeurs par défaut de "controller" ou "action" entraînera des résultats non attendus,
            et peut-être une requête non-distribuable.
        </para>
        <para>En général, fournissez toujours chacune des valeurs par défaut suivantes :</para>
        <itemizedlist>
            <listitem>
                <para>controller</para>
            </listitem>
            <listitem>
                <para>action</para>
            </listitem>
            <listitem>
                <para>module (si différent de "default")</para>
            </listitem>
        </itemizedlist>
        <para>
            Optionnellement, vous pouvez activer le paramètre "useDefaultControllerAlways" du
            contrôleur frontal lors de l'amorçage&#160;:
        </para>
        <programlisting language="php"><![CDATA[
$front->setParam('useDefaultControllerAlways', true);
]]></programlisting>
        <para>
            Cependant, ceci est considéré comme un contournement&#160;; il vaut toujours mieux
            définir explicitement des valeurs par défaut saines.
        </para>
    </note>
</sect3>
