<?php
namespace application\core;
class Router {
protected $router = [];
protected $params = [];
public function __construct() {
$arr = require 'application/config/routes.php';
foreach ($arr as $key => $val) {
$this->add($key, $val);
}
}
public function add($route, $params) {
$route = '#^'.$route.'$#';
$this->routes[$route] = $params;
}
public function match() {
$url = trim($_SERVER['REQUEST_URI'], '/');
foreach ($this->routes as $route => $params) {
if (preg_match($route, $url, $matches)) {
$this->params = $params;
return true;
}
}
return false;
}
public function run() {
if ($this->match()) {
$path = 'application\controllers\\'.ucfirst($this->params['controller']).'Controller';
if (class_exists($path)) {
$action = $this->params['action'].'Action';
if (method_exists($path, $action)) {
$controller = new $path;
$controller->$action();
} else {
echo 'Не найден екшен: '.$action;
}
} else {
echo 'Не найден контроллер: '.$path;
}
} else {
echo 'Маршрут не найден';
}
}
}
Не могу понять что у меня не так , ну и соответственно код неработающий.
if (preg_match($route, $url, $matches))
- что то здесь не так.
Помогите пожалуйста.
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
На просторах сети, спустя очень большой объём времени, мне удалось найти самый простой пример шаблона проектирования MVC в PHPНо я никак не могу...
Есть ли возможность прямо внутри модели App\Post задать значения по умолчанию, например для поля user_id типа:
На данный вопрос уже ответили: