Я пытаюсь выучить MVC с PHP на некоторых онлайн-курсах. Итак, в этом уроке учитель пытается определить путь.
$pathCheck=preg_match("@^{$link}$@",'$this->nowPath',$params);
print_r($params);
Когда он открывает проект с нужным путем, скажем, проект / индекс. php, Массив возвращается с 1 .
Если он попытается написать неверный путь как project / asdasdas. php, Массив возвращается с 0 .
Но для меня он возвращается пустым.
Array ( ) Array ( ) Array ( ) Array ( ) Array ( )
Я думаю, что проблема в preg_match part "@^{$link}$@"
Я застрял.
Я работаю на локальном хосте. AppServ (PHP Ver 7.3)
EDİT :
Я добавляю свои полные коды, чтобы немного лучше объяснить мою ситуацию.
приложение. php
<?php
class App
{
protected $nowPath;
protected $nowMethod;
protected static $routes = [];
public function __construct()
{
$this->nowPath = $_SERVER['REQUEST_URI'];
$this->nowMethod = $_SERVER['REQUEST_METHOD'];
$this->startRoute();
}
public static function getAction($link, $path, $auth = false, $area = null)
{
self::$routes = ['GET', $link, $path, $auth, $area];
}
public function startRoute()
{
foreach (self::$routes as $routes) {
list($method, $link, $path, $auth, $area) = $routes;
$methodCheck = $this->nowMethod == $method;
$pathCheck=preg_match("@^{$link}$@",'$this->nowPath',$params);
print_r($params);
}
}
}
?>
маршрут. php;
<?php
App::getAction('/index','/default/index',false); ?>