Yii 2 Framework — Routing
Yii 2 Famework secara default akan memproses setiap request dengan cara sebagai berikut :
- Menerjemahkan alamat URL menjadi sebuah route.
- Mencari Class Controller yang ada didalam direktori controllers berdasarkan route tersebut.
- Mencari Action Method didalam class controller tersebut.
Untuk memudahkan memahami proses routing di Yii, kita akan praktek membuat contoh sebuah route.
Sebelum itu, pastikan kamu telah menginstall sebuah aplikasi Yii, jika belum kamu dapat mengikuti petunjuk instalasinya di Instalasi Yii 2 Framework di Windows.
- Buat File class Controller
Pada aplikasi Yii yang kamu install, cari direktori controllers, kemudian buat sebuah file baru dengan nama TestController.php.
File controllers/TestController.php berisi kode seperti berikut :
<?php
namespace app\controllers;
use yii\web\Controller;
class TestController extends Controller
{
}
Dari kode tersebut dapat kita ketahui bahwa class TestController tersebut merupakan sebuah class turunan dari class yii\web\Controller.
2. Buat Action Method
Pada Yii, Action Method adalah sebuah method khusus pada sebuah class controller yang digunakan untuk menangani sebuah request. Sebuah Action Method harus memiliki modifier public dengan format nama penulisan method ActionMyMethod . Buat sebuah Action Method pada class TestController seperi berikut :
public function ActionHello(){
echo “Hello, ini route ‘test/hello’ dengan alamat url ‘index.php?r=test/hello’”;
}
Dengan membuat file class controller dan action method, kita telah berhasil membuat sebuah route yang akan dapat memproses sebuah request.
Pada contoh tersebut, class TestController dan method ActionHello akan memproses sebuah request dengan route ‘test/hello’. ‘test’ adalah nama class controller, sedangakan ‘hello’ adalah nama action method.
3. Testing Route
Selanjutnya kita dapat mencoba akses route tersebut pada browser dengan alamat seperti berikut :
http://localhost/your-yii-app/web/index.php?r=test/hello
Sesuaikan ‘your-yii-app’ dengan lokasi instalasi Yii mu.
Jika berhasil, pada browser kamu akan mendapatkan tulisan
“Hello, ini route ‘test/hello’ dengan alamat url ‘index.php?r=test/hello”.
Semangat Mencoba