Pengaturan Route (Routing) adalah salah satu hal penting untuk sebuah aplikasi web. Dengan pengaturan routing yang baik akan mempermudah pengguna untuk mengakses aplikasi web kita. Framework Yii 2.0 adalah full stack PHP framework yang mempermudah developer dengan semua fitur dan komponen yang dimilikinya. Tidak ketinggalan Yii 2.0 juga menyediakan fitur pengaturan route. Sebenarnya pengaturan routing di Yii 2.0 sudah di handle secara otomatis. Namun kita bisa menyesuaikan atau membuat pengaturan custom route sendiri untuk semakin mepercantik URL aplikasi web kita.

Yii 2.0 Custom Route

Banyak sekali manfaat pengaturan custom route di dalam sebuah aplikasi web. Selain berfungsi untuk mempermudah prngguna dalam mengakses aplikasi, pengaturan routing yang baik yang sesuai dengan kaidah SEO (Search Engine Optimization) akan meningkatkan posisi web kita di hasil pencarian search engine. Kali ini kita akan membahasa bagaimana Pengaturan Custom Route di Yii 2.0.

Secara default pengaturan route di Yii 2.0 untuk basic application berada di file config/web.php. Di file config/web.php tersebut kita mendefinisikan berbagai pengaturan konfigurasi untuk aplikasi web kita, salah satunya pengaturan route. Untuk menambahkan pengaturan custom route kita perlu manambahkan paramater di komponen UrlManager.


     'components' => [
        'urlManager'        => [
            'enablePrettyUrl'     => true,          // untuk meng-enable pretty url (dari /index.php?r=site%2Findex menjadi /site/index)
            'showScriptName'      => false,
            'enableStrictParsing' => false,
            'suffix'              => '.html',       // untuk menambahkan suffix / akhira .html di semua URL
            'rules'               => [
                [
                    'pattern' => 'admin',
                    'route'   => 'admin/site/index',
                    'suffix'  => '',
                ],
                [
                    'pattern' => 'blog/<category:(?:[^_\W]|-)+>/<url:(?:[^_\W]|-)+>',
                    'route'   => 'blog/post',
                    'suffix'  => '.html',
                ],
                [
                    'pattern' => 'blog',
                    'route'   => 'blog/index',
                    'suffix'  => '',
                ],
            ],
        ],
    ],

Pada contoh pengaturan route di atas kita mengarahkan URL http://namadomain.com/admin ke module admin controller site dan action index. Ini berarti setiap kita mengakses URL http://namadomain.com/admin akan otomatis di arahkan ke module admin controller site dan action index. Pada pengaturan berikutnya kita menambahkan pengaturan route blog/<category:(?:[^_\W]|-)+>/<url:(?:[^_\W]|-)+> ke controller blog action post. Disini kita menambahkan parameter category dan url dengan kondisi regex (?:[^_\W]|-) yaitu harus berupa karakter string. Secara otomati akan di arahkan ke controller blog action post. Berikut contoh penerapan action post di controller blog.


    class BlogController extends Controller
    {
        public function actionPost($category = '', $url = '')
        {
            // FUNGSI UNTUK MENAMPILKAN POST SESUAI CATEGORY
            ............
            ............
            ............
        }
    }

Cukup mudah bukan? Di Yii 2.0 memang developer sangat dimanjakan dengan berbagai konfigurasi dan otomatisasi sehingga tidak membutuhkan banyak perubahan kode untuk mendapatkan konfigurasi aplikasi web yang kita inginkan. Semoga artikel tutorial Pengaturan Custom Route di Yii 2.0 ini bermanfaat untuk anda. Selamat mencoba! :)

Author Image

Fery Dedi Supardi

I grew up in Magetan, East Java. I have my university degree majoring Informatics Engineering from Brawijaya University, Malang. In 2013, I designed a. . .


Published