routing

untuk mengatur pattern url pada mini mvc

Introduction

routing pada konsep MVC berperan sebagai penghubung antara view dan controller.

Basic Routing

secara default mini mvc menerapkan bramus router sebagai routing system-nya,

<?php

namespace MiniMvc\Apps\Routes\Bootstraping;

use \MiniMvc\Apps\Core\Bootstraping\Routes;
use \Bramus\Router\Router;

// Create a Router object dari bramus router
$router = new Router();

# configuruation route
$router->get('/', function () {
	return view('Welcome');
});

// run route!
$router->run();

memanggil controller pada route

untuk memanggil controller pada route formatnya begini ;

jika controller tidak di dalam folder atau berada di root folder controller

Routes::Routing('controller', 'method');

jika controller berada di dalam folder atau example controller/admin/AdminController.php

Routes::Routing('folder/controller', 'method');

jika route memiliki slug atau parameter,

Routes::Routing('folder/controller', 'method', [slug]);
$router->get('/pathroute/{slug}', function ($slug) {
    // handle here
    Routes::Routing('folder/controller', 'method',[$slug]);
});

Method Available by Bramus Route

$router->get('pattern', function() { /* ... */ });
$router->post('pattern', function() { /* ... */ });
$router->put('pattern', function() { /* ... */ });
$router->delete('pattern', function() { /* ... */ });
$router->options('pattern', function() { /* ... */ });
$router->patch('pattern', function() { /* ... */ });

yang saya pakai hanya GET dan POST saja sisanya temen temen bisa kembangkan

View

pada route juga bisa hanya me-return sebuah view yaitu dengan seperti ini

$router->get('/', function () {
	return view('Welcome');
});

atau seperti ini :

$router->get('/', function () {
	return view('Welcome');
	exit;
});

route tetaplah code programing php, jadi tetap bisa melakukan menuliskan program di dalam route seperti berikut contohnya

$router->get('/', function () {
	echo "hi, my name miyuki nagara I'am a student and programmer"
	exit;
});

404 rewrite

secara default saya menyediakan 3 tampilan 404 yang bisa di custom, sesuai selera masing masing, namun untuk mengaktifkan redirect 404 yaitu dengan meng uncomment code berikut pada web.php dan untuk menoaktifkannya di comment saja.

#custom 404 header un-commnet baris berikut
$router->set404(function () {
	header('HTTP/1.1 404 Not Found');
	redirect_404();
});

dengan uncommnet maka mode debug atau development aktif

//$router->set404(function () {
//	header('HTTP/1.1 404 Not Found');
//	redirect_404();
//});

warning url

beberapa pattern url yang tidak support

  • /vendor

  • /test

  • /example

  • /public

  • /storage

  • /system

  • /temp

  • /database

  • /apps

pattern url diatas tidak di support oleh routing

example atau contoh yang tidak di support

$router->get('example', function () {
	Routes::Routing("Example", "index");
});

example atau contoh alternative yang di support

contoh yang di support

$router->get('example-test', function () {
	Routes::Routing("Example", "index");
});

Last updated