فصل 5. Zend_Controller_RewriteRouter
السابق |  | التالي

## فصل 5. Zend_Controller_RewriteRouter

## 5.1. مقدمة

Zend_Controller_RewriteRouter هو نوع جديد من الموجه "router" الخاص بإطار العمل. عملية التوجيه أو الـ routing هى أخذ URI و تقسيمه الى قطع اصغر لمعرفة أى controller و action تابع له سيتم تمرير الطلب إليهم . تعريف أسم الـ controller و الـ action و القيم الإختيارية يتم تجميعه و وضعه فى كائن قيم أو "value object" يسمى Zend_Controller_Dispatcher_Token و الذى سيتم معالجته لاحقا بواسطة Zend_Controller_Dispatcher. عملية التوجيه "routing" تحدث مرة واحدة : بمجرد إستلام الطلب و قبل تنفيذ اول controller.

تم تصميم Zend_Controller_RewriteRouter ليسمح بأداء مماثل لـ mod_rewrite بإستخدام هيكلة PHP فقط. و هو يعتمد على فكرة الـ routing المنفذة فى Ruby on Rails و هذا لا يستلزم أى معرفة مسبقة بالـ URL rewriting من خلال الـ webserver. لقد تم تصميمه ليعمل مع أمر mod_rewrite واحد (واحد من التاليين) :

    RewriteEngine on
    RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

    RewriteEngine on
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1

السابق |  | التالي
4.4. الـ Plugins | البداية | 5.2. إستخدام معرفات التحويل - routes