MVCHW.md 1.5 KB

ДЗ по MVC

Роутер

Сделать роутер, который будет запускать функции (контроллеры), по шаблону адресной строки в регулярках:

    $routes = [
        "\/"  => function(){
            echo 'index controller';
        },
        "\/chat\/(\d+)\/"  => function($chatId){
            echo "chat controller for chat Id " . $chatId;
        },
        "\/user\/(\w+)\/(\d+)\/"  => function($username, $someId){
            echo "user with name " . $username . " and some id: $someId";
            echo '<pre>';print_r( $_GET );echo '</pre>';
        },
        "" => "myController",
        "asdfasdf" => [$obj, "indexController"]
    ];

Выше несколько роутов, каждый из которых запускается по тому или другому шаблону адреса. Используйте .htaccess для перенаправления всех запросов на один php файл, в котором соотносите $_SERVER['REQUEST_URI'] с вашими шаблонами адресов используя preg_match. Параметры в строке адреса (то, что в скобочках в регулярках) должны попадать в контроллер в качестве параметров при вызове.

продолжение ДЗ читайте тут: http://route.asmer.php.a-level.com.ua/