|
@@ -0,0 +1,29 @@
|
|
|
+# ДЗ по MVC
|
|
|
+
|
|
|
+## Роутер
|
|
|
+
|
|
|
+Сделать роутер, который будет запускать функции (контроллеры), по шаблону адресной строки в регулярках:
|
|
|
+
|
|
|
+```php
|
|
|
+ $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/
|
|
|
+
|