Здравствуйте, форумчане. Помогите решить проблему. Не как не могу найти хороший, не большой но функциональный класс роутинга страниц. Самому писать сейчас нет времени. Да и боюсь так вот слету не чего хорошего не напишу. Возможно у кого нибудь есть уже какие нибудь наработки? Нужен класс который позволит максимально гибка править адреса страниц. Заранее благодарю за помощь.
для своих систем всегда лучше всё самому писать. так больше понимания. если заимствовать у кого-то то может сразу весь фреймворк или си-эм-эс использовать и не программировать самому?
Можно просто поискать php router, https://github.com/auraphp/Aura.Router http://zaphpa.org/ и т.д. Ещё посмотреть в сторону php fat-free
Проект предстоит писать довольно специфический так что готовую смс не вариант. А у вас случайно нет готового небольшого фреймворка? Добавлено спустя 1 минуту 56 секунд: Да я уже гуглил ну только не чего достойного не нашел. Либо кривой либо слишком большой=)
Вот простой маленький framework http://silex.sensiolabs.org/ но лучше посмотри Symfony2 там много уже готового сразу. Какие требования у тебя к фреймворку?
kirill040893, я тебе дам начальную подсказку, дальше сам. чур не попрошайничать! если таблицу маршрутов задавать как-то так: Код (PHP): $routes = array( '/profile' => 'User:index', '/profile/socials' => 'User:socials', '/dashboard' => 'Admin:index', ); то элементарно найти соответствие адрес → метод контроллера Код (PHP): $uri = $_SERVER['REQUEST_URI']; if (isset($routes[$uri])) { list($class, $method) = explode(':', $routes[$uri]); $o = new $class(); $o->$method(); } else { die('Wrong address'); }
??? Тебе надо получить урл вида /controller/action/params распарсить expode и в соответствии с именем controller подключить нужный файл, потом вызвать в нем метод action. Это простейший рутинг. Какие у тебя вопросы?
Простейший роутинг обеспечивает сам веб-сервер с его виртуальной файловой системой. Некоторые повторяют этот функционал уже на уровне приложения.
А какое это отношение имеет к вопросу ТС? Как я понимаю он хочет на уровне приложения контролировать обработку урлов.
Никакого отношения, кроме того, что это самый настоящий роутинг запросов. ))) Чего хочет топикстартер, он и сам, походу, не очень хорошо понимает. Главное чтобы без напряжения. Так что вариант "переложить всё на файловую систему" очень даже рабочий. Добавлено спустя 1 минуту 20 секунд: "Гибка править адреса страниц" очень просто — перенес файл в другую папку или переименовал — вот тебе новый адрес страницы.