Организация ЧПУ в htaccess

imediasun

Новичок
Что надо прописать в htaccess чтобы можно былобы обращаться непосредственно к функции класса

Например когда я так обращаюсь к функции register я имею index.php
site.ru/users/register
вот мой htaccess
PHP:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
Options +FollowSymlinks
 

WMix

герр M:)ller
Партнер клуба
логику, нам откуда знать что ты хочешь
 

imediasun

Новичок
к примеру чтобы при обращении к контроллеру Users к функции foo таким образом site.com/users/foo выполнялось бы содержимое этой функции а не индекс просто
 

WMix

герр M:)ller
Партнер клуба
а, ты рутингом интерессуешься? куча вариантов, правильнее взять готовое, а так, разбить урл на токены, создать инстанцию контроллера, вызвать в нем экшин
 
Последнее редактирование:

imediasun

Новичок
приведите пожалуйста пример, и что такое рутинг мне не известно
 

imediasun

Новичок
это роутеры фреймворков или cms я просто хочу чтобы мне наверное самый простой свой написать, могли бы помочь с кодом какие соображения
 

fixxxer

К.О.
Партнер клуба
Почитать код, посмотреть, как они работают, и сделать так же.

Примитивный роутер-диспетчер можно сделать так:

1) описываешь в виде конфигурации, какой роут соответствует какой паре controller - action, например, в виде регулярных выражений:

PHP:
$routes = [
     '#^/$#' => 'HomeController@index',
     '#^/news/$#' => 'NewsController@newsList',
     '#^/news/(?<id>\d+)$#' => 'NewsController@newsItem',
];
2) Берешь $SERVER['DOCUMENT_URI'] и ищешь совпадение

3) В соответствии с совпадением, инстанциируешь нужный контроллер по имени класса и вызываешь метод, в который передаешь matches из регулярки
 

hell0w0rd

Продвинутый новичок
Зачем свой писать, пока не понимаешь, как чужие работают? Возьми микро-фреймворк, их куча, каждый по своему лучше/хуже: Silex, Slim, Lumen.
Разберись, как он работает и напиши с его помощью то, что нужно.
 

imediasun

Новичок
Очень интересно и сжато, но так не понятно для неопытного пользователя, хотя я верю что неопытный пойдет и не заблудится не могли бы вы всетаки подробно прокомментировать, и где этот класс подключать? в индексе?
 

imediasun

Новичок
грубо говоря не могли бы вы написать мне тут индекс простой и чтобы при вызове /users/register происходило перенаправление, а при обращении к корню подгружался бы вид индекса, так я смогу осознать
 
Сверху