如何使用路由类创建动态php路由? (php)

时间:2018-09-15 21:04:55

标签: php url-routing

我想链接到动态生成的URL,但是我不知道如何用我的代码来完成此操作。这是我的路由器类

class Router
{
    public $routes = [
        'GET' => [],
        'POST' => []
    ];

    public static function load($file)
    {
        $router = new static;

        require $file;

        return $router;
    }

    public function get($uri, $controller)
    {
        $this->routes['GET'][$uri] = $controller;
    }

    public function post($uri, $controller)
    {
        $this->routes['POST'][$uri] = $controller;
    }

    public function direct($uri, $requestType)
    {
        if (array_key_exists($uri, $this->routes[$requestType])) {
            return $this->routes[$requestType][$uri];
        }

        throw new Exception('No route defined for this URI.');
    }
}

这是我的路线页面

<?php

$router->get('', 'controllers/index.php');

$router->get('message', 'controllers/message.php');

$router->get('loginForm', 'controllers/loginForm.php');

$router->get('register', 'controllers/register.php');

在带有html的页面上,我放置了带有动态链接href='displayPost<?php echo $image->id; ?>的链接,但是我不确定如何添加该$ image-> id;放入我的路由器列表和类中,以创建动态网址。

0 个答案:

没有答案