В папке controller есть 3 файла , index , model , user .
Если я пишу URL такой site.ru/user то он грузин файл user , а с моделью мне не нужно грузить модель . Пример - site.ru/model/tv
А как сделать чтобы TV обрабатывался без модели ?
Так как заместо TV может быть что угодно .
$url = explode("/",$_GET['url']);
include("controller/".$url.".php");
Array ( [0] => model [1] => tv )
Спустя 9 часов, 15 минут, 20 секунд (9.10.2012 - 08:46) T1grOK написал(а):
Сделать правила, так называемые роуты.
Скажем model/tv у Вас должен вызываться контроллер index возможно даже с другим методом(функцией или параметром). Формируем массив с правилами
Грубо говоря идея такая.
Кстати, model - это у Вас модель данных или контроллер? Т-к модель по своему назначению вообще не должна вызываться пользователем. Ее лучше разместить в другой директории.
Скажем model/tv у Вас должен вызываться контроллер index возможно даже с другим методом(функцией или параметром). Формируем массив с правилами
$routes['model/tv'] = 'index/tv';
$url_query = $_GET['url'];
$url_query = isset($routes[$url_query]) ? ($routes[$url_query] : $url_query;
$url_arr = explode("/", $url_query);
include('controller/'.$url_arr[0].'.php');
Грубо говоря идея такая.
Кстати, model - это у Вас модель данных или контроллер? Т-к модель по своему назначению вообще не должна вызываться пользователем. Ее лучше разместить в другой директории.
Спустя 38 минут, 9 секунд (9.10.2012 - 09:24) fortuna написал(а):
T1grOK
Я не использую ООП , всё на процедурном сделано .
Модель это просто название производителей , к примеру panasonic и тд .
site.ru/model/panasonic/
site.ru/model/sony/
и тд .
А я хочу урезать URL чтобы выводился без модели .
А тут проблема у меня такая , model GET пишеться и она грузит из контроллера php file , model.php , а там уже все запросы к БД по модели .
Если будет site.ru/blog/22/ то с контроллера будет грузиться файл blog.php и будет обрабатывать из БД 22 id .
Написал я вот так .
Написал вот так , есть лож , то он грузит модель , а там уже всё работает с БД.
site.ru/panasonic/
Не знаю правильно так делать или нет ? но работает .
Я не использую ООП , всё на процедурном сделано .
Модель это просто название производителей , к примеру panasonic и тд .
site.ru/model/panasonic/
site.ru/model/sony/
и тд .
А я хочу урезать URL чтобы выводился без модели .
А тут проблема у меня такая , model GET пишеться и она грузит из контроллера php file , model.php , а там уже все запросы к БД по модели .
Если будет site.ru/blog/22/ то с контроллера будет грузиться файл blog.php и будет обрабатывать из БД 22 id .
Написал я вот так .
$ar = array('index','news','blog');
if(in_array($url,$arr))
{
include ($url.'.php');
}
else
{
include ('model.php');
}
Написал вот так , есть лож , то он грузит модель , а там уже всё работает с БД.
site.ru/panasonic/
Не знаю правильно так делать или нет ? но работает .