использование переменной $ внутри функции preg_match - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь выучить 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); ?>

1 Ответ

0 голосов
/ 02 февраля 2020

Исправлено окончательно. Я не до конца понимаю, но учитель работает с папкой проекта / индекса. Мой был www/project/index. Возможно, я допустил ошибку при маршрутизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...