Yii Framework Friendly Url

alfa6661
- February 14, 2013
0 (0 votes)
Rate :
Cara membuat format friendly URL pada Yii Framework

URL yang menghubungkan berbagai halaman pada aplikasi yii secara default kurang enak untuk dilihat / tidak ramah pengguna.

Secara default, URL yang dibuat menggunakan format get. Sebagai contoh :

$route='article/view' dan $params=array('id'=>1)

kita akan mendapatkan URL seperti berikut:

http://domain.com/index.php?r=article/view&id=100

Contoh lain :

http://domain.com/index.php?r=site/index
http://domain.com/index.php?r=site/page&view=about

Pada url di atas parameter terlihat dalam string query yang disambung dengan karakter '&', dan parameter r yang menetapkan permintaan rute. Format URL ini tidak ramah-pengguna karena memakai beberapa karakter bukan-kata.

Untuk mengubah URL tersebut Yii telah menyediakan cara pembuatan URL agar URL yang dibuat dapat dimengerti oleh aplikasi. Hal ini dapat dilakukan dengan bantuan CUrlManager.

Untuk menjadikan URL di atas terlihat lebih friendly dan lebih jelas kita dapat mengatur format url menjadi format path sehingga dapat menghasilkan URL seperti ini :

http://domain.com/index.php/article/view/id/100
http://domain.com/index.php/site/index
http://domain.com/index.php/site/page/view/about
array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
        ),
    ),
);

Ketika path dipakai sebagai format URL, kita dapat menetapkan beberapa aturan URL untuk membuat URL kita bahkan lebih ramah-pengguna. Sebagai contoh, kita dapat membuat URL sesingkat http://domain.com/index.php/article/100, daripada http://domain.com/index.php/article/view/id/100 yang cukup panjang. Aturan URL dipakai oleh CUrlManager baik untuk pembuatan URL maupun keperluan penguraian.

Untuk menetapkan aturan URL, kita harus mengkonfigurasi properti rules pada komponen aplikasi urlManager:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                'pattern1'=>'route1',
                'pattern2'=>'route2',
            ),
        ),
    ),
);

Sebagai contoh kita akan merubah URL-URL tersebut menjadi seperti ini :

URL Lama URL Baru
http://domain.com/index.php?r=site/index http://domain.com/index.php
http://domain.com/index.php?r=site/page&view=about http://domain.com/index.php/page/about
http://domain.com/index.php?r=article/view&id=100 http://domain.com/index.php/article/100
array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                ''=>'site/index',
                'page/<view:(about|contact|lainnya)>' => 'site/page',
                '<_c:(article)>/<id:\d+>' => '<_c>/view',
            ),
        ),
    ),
);

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below

No comments associated with this article