[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Единая точка входа через Index.php
exotica
Доброго! wink.gif
Конкретно не понимаю как реализовать единую точку входа. И параллельно вопрос: А надо ли это делать?

Сайт многостраничный, содержит Калькуляторы, Новости и статические данные. Имеет авторизацию и жестко привязан к сессиям (почти каждое действие пользователя сохраняется в сессии)

Мне непонятен сама логика. Вот на примере phpforum видно что ряд значений передается GET методом в адресной строке.

Выходит что необходимо вынести Отображение в .tpl файлы (допустим) но дальше..... ппффф.. дальше просто руки опускаются - видимо от недостатка знаний...

Прошу пнуть в нужную сторону unsure.gif

Готовые движки не предлагать. Я понимаю что над ними трудились очень долго и очень упорно и далеко не глупые люди. Но вариант "Возьми Это и Поменяй как тебе надо" не наставляет както на путь истинный

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Xes
а она нужна в твоем сайте?
Зачем?

А так набири IRBIS-Shool старая версия сайта там был разбор чегото подобного.
exotica
Цитата
А так набири IRBIS-Shool старая версия сайта там был разбор чегото подобного.

Не припомню там такого huh.gif вроде все прочел.

Цитата
а она нужна в твоем сайте?
Зачем?

Нужна не сколько она, сколько знание реализации. А сайт - это тестовый полигон

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
bestxp
мой совет такой подсмотри как сделано в фреймворках wink.gif например

подключи библиотеки и будет счастье

или вот статейка на хабре

http://habrahabr.ru/post/118237/
Игорь_Vasinsky
да не ломай больно голову

config.php

$route = isset($_GET['route']) ? $_GET['route'] : 'home';


index.php

include "config.php";

switch($route){
case 'home':
include "home.php";
break;
case 'about':
include "about.php";
break;
case 'contacts':
include "contacts.php";
break;
default :
include "home.php";
break;
}


соответственно урлы будут выглядеть так

/index.php?route=home
/index.php?route=about
/index.php?route=contacts


Это очень примитивный пример - который показывает как организовать сайт с одной точкой входа - index.php

index.php - играет так же роль роутера


можно упростить

index.php

if(!file_exists($route.'.php'))
exit('page not found');
else
include
$route.'.php';


можно вполне начать с подобной структурой, а потом уже контроллеры, модели, вывод - общий смысл останется тот же

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
exotica
Цитата
мой совет такой подсмотри как сделано в фреймворках

Фреймворки пусть пока останутся фреймворками. Все в свое время. Спасибо за ссыль ознакомился пока частично, но с 50% написанного не знаком пока еще, буду узнавать;)

Цитата
да не ломай больно голову


Спасибо сейчас практику сделаю на эту тему. А такой вопрос раз так все сложилось:

С index.php я перехожу допустим на news, в итоге в адресной строке будет:
http://mysite.ru/index.php?route=news


а если на этой странице есть подобный "роутер" получается надо будет постоянно передавать значение news и нужное мне значение во 2-ом роутере:
http://mysite.ru/index.php?route=news&route2=rusnews

http://mysite.ru/index.php?route=news&route2=engnews

и т.е

Как то так?

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Игорь_Vasinsky
в подключаемом news.php - снова пишешь "subrouter"

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 29.08.2013 - 10:35)
можно упростить

index.php

if(!file_exists($route.'.php'))
    exit('page not found');else
    include $route.'.php';

а вот так, как раз делать нельзя wink.gif
Игорь_Vasinsky
я сказал что это упрощённый вариант.
я не собирался читать лекции по безопасности

ясно-понятно - хватать голую $route нельзя в таком варианте

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
exotica
Цитата
в подключаемом news.php - снова пишешь "subrouter"

ААаа biggrin.gif ясно) откуда что растет) Спасибо

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Игорь_Vasinsky
ну это на первый взгляд всё сложно)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.