Всем привет. Пытаюсь создать простую MVC . C Controller и Model нет проблем, что не могу сказать с routing. Перелопатил кучу материала - но собрать в кучу не могу. Нужно очень простым способом при переходе '/action' выполнить Controller@action
index.php
$obj = new ParseUrl();
$obj->run();
ParseUrl
class ParseUrl
{
public function getRoute()
{
$uri = $_SERVER['REQUEST_URI'];
return $uri;
}
public function run()
{
return $this->getRoute();
}
}
Путь я получаю (при вводе http://localhost/address возвращает строку address)но куда дальше?
Цель роутера, не получить урл который ввел пользователь (т.к. его можно получить просто из $_SERVER или $_REQUEST), а в том что бы его разобрать. т.е.: - получаем урл что ввел пользователь. - разделяем на контроллер и екшен. - проверяем есть ли у нас такой контроллер, если нет, то запускаем дефолтный типа для 404. - если такой есть, отдаем
public function getRoute()
{
$uri = $_SERVER['REQUEST_URI'];
return array_pop(explode('/', $uri));
}
public function run()
{
$action = $this->getRoute();
$controller = lcfirst($action . 'Controller');
if(file_exists(__DIR__.'/Controller/'.$controller.'.php')){
require_once(__DIR__.'/Controller/'.$controller.'.php');
}
$action = 'indexAction';
return call_user_func_array(array($controller, $action), []);
}
и в папке Controller создаем AddressController
class AddressController {
public function indexAction()
{
echo "Address Controller";
}
}
P.S. это крайне примитивный и простейший пример как вызвать контроллер и класс.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Создал svg файл, нужно его отправить по почте, но я что-то делаю не так:
Вы, наверное, посчитаете этот вопрос глупым, но все же
Есть VPS сервер на Debian 9На сервере крутится одно самописное Java приложение
ResultSet возвращает неверное время из DATETIMEПри извлечении значения времени количество часов увеличивается на 3, т