Я пытаюсь реализовать сопоставление URL в PHP. У меня есть файл json, в котором хранятся URL и функции, которые должны выполняться при запросе этой ссылки. Я использовал eval()
, но потом наткнулся на эту
. Помните следующую цитату:
Если ответом является eval (), вы почти наверняка задаете неправильный ответ. вопрос. - Расмус Лердорф, BDFL из PHP
Теперь я думаю, что это любой другой (лучший) способ сделать это.
Мой файл json выглядит следующим образом.
{
"bw/":"main()",
"bw/login":"login()"
}
и моя функция loadPage выглядит следующим образом.
function loadPage($url){ //$url = 'bw/'
$str = file_get_contents('urls.json');
$this->link = json_decode($str, true);
$url = ltrim($url,"/");
$key = $this->link[$url];
eval("$key;");
}
РЕДАКТИРОВАТЬ: я определил $ this-> ссылку в моем коде