СвященнаяВойна: Mod_Rewrite. В тему призывается Альк !

1.36K
.
Кадило крутится, лавэха мутится
Кому интересна или не понятна или же понятна, но не до конца сама фишка роутеров, можете поюзать например роутер у коханы.
http://kohanaframework.org/3.0 ... uting
Там хоть он и большой и гибкий, но саму суть передаёт очень хорошо)
.
bleakas (09.11.2012 / 19:30)
Я не реврайто дрочер.
Твои предыдущие посты говорят об обратном
.
Screamer (09.11.2012 / 19:34)
Твои предыдущие посты говорят об обратном
Ты меня понял не в том смысле.
.
bleakas, а как я должен был понять? Реврайтодрочер как раз таки ты а не я ибо я не дергаю хтаксесс каждый раз для добавления нового правила
.
bleakas (09.11.2012 / 18:55)
делаем ЧПУ ручкаме
Во-первых, эта тема - продолжение моего с альком холивара на счет использования раврайта.
Во-вторых, твои примеры реврайта это говнокод (без обид, оно так и есть).
В третьих роутер и реврайт, разные вещи, и роутер гораздо удобнее + тема не о сравненни роутера и обычного реврайта. Если не знаешь что такое роутер и как его применять, то не стоит сравнивать его с реврайтом и обсирать.
.
~XeOn~ (09.11.2012 / 19:53)
Если не знаешь что такое роутер и как его применять, то не стоит сравнивать его с реврайтом и обсирать.
++++
.
bleakas (09.11.2012 / 19:30)
Я не реврайто дрочер. Мне проще написать 5 строк в один файл, чем каждый раз подключать лишний класс.
Убило. Класс? Зачем?
Роутер: 1 строка в хтаццес, реврайт в твоем случае 5 строк,ну и кто дрочит на реврайт?
.
bleakas, Вот тебе пример простого роутера, как сделано у меня.
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([a-zA-Z0-9/]+) index.php?route=$1 [L,QSA]


core.php
$route = isset($_GET['route']) && preg_match('#(^[0-9a-z/]+)#i', $_GET['route']) ? explode('/', $_GET['route'], 5) : array(); //Проверяем валидность переменной $_GET['route'] и разбиваем ее на массив, максимум 5 элементов.

define ('MODULE', !empty($route[0]) ? $route[0] : 'index'); //первый элемент - имя модуля
define ('ACT', !empty($route[1]) ? $route[1] : NULL); //второй элемент //имя кэйса/инклуда/сабмодуля
define ('ID', !empty($route[2]) ? $route[2] : NULL); //третий элемент //id или другой параметр модуля


в итоге строка
index.php?module=loads&act=view&id=1
выглядит так
loads/view/1
.
Тому кто не хочет понять, нельзя обьяснить
.
Пердве любителям устраивать холивары на пустом месте
Всего: 66