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