1 <sect3 id="zend.controller.router.routes.static">
2 <title>Zend_Controller_Router_Route_Static</title>
5 הדוגמאות למעלה משתמשות כולן בניתוב דינאמי -- נתבים יכולים להכיל תבניות שניתן להתאים מולן.
6 למרות, שלפעמים נתב מסויים מוגדר תמיד אותו דבר, ושימוש בביטויים רגולריים יכול להוות מטרד וביצועים פחות טובים.
7 התשובה לבעיה ספציפית זו היא שימוש בנתבים סטטיים:
10 <programlisting role="php"><![CDATA[
11 $route = new Zend_Controller_Router_Route_Static(
13 array('controller' => 'auth', 'action' => 'login')
15 $router->addRoute('login', $route);
20 הנתב למעלה יתאים קישור כמו <code>http://domain.com/login</code>, וינתב אותו אל <code>AuthController::loginAction()</code>.
23 <note id="zend.controller.router.routes.static.warning">
24 <title>אזהרה: נתבים סטטיים חייבים להכיל את כל הפרמטרים הדרושים</title>
27 מאחר ונתב סטטי לא מעביר שום פרמטר מהקישור לאובייקט המבוקש, חובה להעביר את כל הפרמטרים הדרושים לניתוב הבקשה כברירת מחדל בניתוב עצמו.
28 אם פרמטרט ה "controller" או "action" יהיו חסרים, סביר להניח שיגרמו תוצאות לא צפויות וכנראה גם לא ינתבו למקום הנכון אם בכלל..
32 כברירת מחדל וכחוק, תמיד יש להעביר את הפרמטרים הבאים:
36 <listitem><para>controller</para></listitem>
37 <listitem><para>action</para></listitem>
38 <listitem><para>module (אם לא מוגדר כ default)</para></listitem>
42 כמו כן ניתן להעביר את הפרמטר "useDefaultControllerAlways" לקונטרולר הראשי בעת ההתחלה:
45 <programlisting role="php"><![CDATA[
46 $front->setParam('useDefaultControllerAlways', true);
50 למרות, שדרך זו היא לא מומלצת, ותמיד רצוי להגדיר את פרמטרים ברירת המחדל בכל ניתוב סטטי.