Welcome to Abdul Malik Ikhsan's Blog

Zend Framework – Working with Custom Routes

Posted in Tutorial PHP, Zend Framework by samsonasik on December 21, 2010

Routes adalah penghubung antara request  dan action.  Ketika user me-request halaman aplikasi melalui URL, maka FrontController menampung request, dan memutuskan Controller dan action mana yang akan dipanggil berdasarkan URLpattern. Proses request routing adalah kunci dari eksekusi flow aplikasi.

Proses routing rinciannya sebagai berikut :
1. Ketika request datang, maka .htaccess akan me-rewrite ke standard format dan melewatkan ke index.php
2. FrontController memeriksa request berdasarkan URL, dan mencocokkan dengan default maupun custom routes.
3. Jika cocok, maka FrontController mentransfer ke controller dan action yang sesuai. Jika benar, maka view dan layout akan dirender ke user jika diperlukan.
4. Jika tidak cocok, maka exception dan ErrorController akan dipanggil dan errorAction akan merender error message ke user.

Secara default, Zend Framework mempunyai routing standard, yaitu  :module/:controller/:action/* ( params /paramsvalue) . Nah, bagaimana ketika kita membutuhkan routing yang berbeda ? Yang kita perlukan adalah FrontController untuk mengatur routing tersebut, dan kita bisa tambahkan itu di default Bootstrap aplikasi Zend Framework kita, seperti berikut :

class Default_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initModule()
{
//instance before route from controllerfront
$this->frontController = Zend_Controller_Front::getInstance();
$this->router = $this->frontController->getRouter();
}

protected function _initRoutes()
{
//routingnya menjadi lang/module/controller/action
$this->router->addRoute('langaddmodaction',
new Zend_Controller_Router_Route('/:lang/:module/:controller/:action/*',
array('lang'=>'id',
'module'=>'default',
'controller'=>'index',
'action'=>'index')
));
}

protected function _initApp()
{
$request =  new Zend_Controller_Request_Http();
$this->router->route($request);
}
}

Referensi :
Zend Frawework, A Beginner’s Guide, Vikram Viswani
http://framework.zend.com/manual/en/zend.controller.router.html

One Response

Subscribe to comments with RSS.

  1. […] Routing adalah aksi untuk mencocokkan request dari action controller yg diberikan. Routing menghubungkan keduanya.  Proses request routing adalah kunci dari eksekusi flow aplikasi.  Sistem Route yang dimiliki oleh Zend Framework 2 ini antara lain sebagai berikut : […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: