Fix errors in the router
This commit is contained in:
parent
128d337383
commit
bfdd632adf
@ -9,7 +9,7 @@ class Posts
|
||||
return true;
|
||||
}
|
||||
|
||||
public function new()
|
||||
public function entry()
|
||||
{
|
||||
echo "You can entry new data here."; // Nanti di replace sama twig view ke App\Views\Data\new_pengumuman.html
|
||||
return true;
|
||||
|
@ -33,6 +33,7 @@ class Router
|
||||
public function match($url)
|
||||
{
|
||||
$url = htmlspecialchars($url);
|
||||
$url = substr_replace($url, '', 0, 1);
|
||||
|
||||
foreach ($this->routes as $route => $params) {
|
||||
if (preg_match($route, $url, $matches)) {
|
||||
|
@ -6,6 +6,8 @@ class RouterTest extends \PHPUnit\Framework\TestCase
|
||||
/**
|
||||
* Data provider for matchingRouteSuccess
|
||||
*
|
||||
* Contains: route, params, $_SERVER['REQUEST_URI'], expected_params
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function routeProvider()
|
||||
@ -13,15 +15,15 @@ class RouterTest extends \PHPUnit\Framework\TestCase
|
||||
return [
|
||||
[
|
||||
'',
|
||||
['controller' => 'home', 'action' => 'index'],
|
||||
['controller' => 'posts', 'action' => 'index'],
|
||||
'',
|
||||
['controller' => 'home', 'action' => 'index']
|
||||
['controller' => 'posts', 'action' => 'index']
|
||||
],
|
||||
[
|
||||
'{controller}/{action}',
|
||||
[],
|
||||
'posts/new',
|
||||
['controller' => 'posts', 'action' => 'new']
|
||||
'posts/entry',
|
||||
['controller' => 'posts', 'action' => 'entry']
|
||||
],
|
||||
[
|
||||
'{controller}/{action}/{id:\d+}',
|
||||
|
@ -1,9 +1,19 @@
|
||||
<?php
|
||||
$router = new Router();
|
||||
spl_autoload_register(function($class)
|
||||
{
|
||||
$root = dirname(__DIR__);
|
||||
if(is_readable($file = $root . '/' . str_replace('\\', '/', $class) . '.php'))
|
||||
{
|
||||
require $file;
|
||||
}
|
||||
});
|
||||
|
||||
$router->add('', ['controller' => 'Data', 'action' => 'index']);
|
||||
$router = new Core\Router();
|
||||
|
||||
$router->add('', ['controller' => 'posts', 'action' => 'index']);
|
||||
$router->add('{controller}/{action}');
|
||||
$router->add('{controller}/{action}/{id:\d+}');
|
||||
$router->add('{action}', ['controller' => 'home']);
|
||||
|
||||
$url = $_SERVER['QUERY_STRING'];
|
||||
$url = $_SERVER['REQUEST_URI'];
|
||||
$router->dispatch($url);
|
||||
|
Loading…
Reference in New Issue
Block a user