Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Переадрессация на index.php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вопрос по уроку №19
Synov_son
Отправлено: 27 Августа, 2013 - 14:40:42
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Не понял Никак не доходит, как правильно сделать перенаправление всех запросов на index.php. Настроил htaccess что бы оно происходило. А как меняется принцип работы дальше ? Писал движок mvc (правда процедурный, сейчас постепенно перевожу в ооп), все вроде работает, но хотел использовать для безопасности в index.php

А во всех других файлах php

Но обработчики через ajax это использовать не могут. Посоветывали сделать перенаправление всех запросов на index.php и подсказали этот урок http://forum.php.su/topic.php?fo...=62&topic=98

Без перенаправления я просто считывал полученный get запрос и в зависимости от него вынимал данные и вставлял их в запрос. А что меняется при перенаправлении ?

В уроке описано как сделать перенаправление, но потом (3-тий листинг) в роутере не могу понять как разбивается запрос. При любом get запросе он ищет отдельный контроллер. То есть если запрос sitename.com/hahaha (ЧПУ) то он будет искать контроллер Controller_hahaha (понятно, что такого не существует). А если без ЧПУ то ищет контроллер Controller_?page=hahaha.
Где можно как можно детальнее понять принцип работы с перенаправлением ? Растерялся
 
 Top
Contr
Отправлено: 29 Августа, 2013 - 18:17:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011  
Откуда: с Марса


Помог: 1 раз(а)




http://www[dot]youtube[dot]com/watch?v=Aw28-krO7ZM
(Добавление)
лови, там 6 уроков.
Рецепт:
Просмотреть 10 секунд, пауза, повторить за ним, просмотр, пауза, повторить.

Повторять до готовности
 
 Top
NoPaper
Отправлено: 29 Августа, 2013 - 19:16:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


Помог: 9 раз(а)




Synov_son пишет:
использовать для безопасности

если весь код в ооп, почему бы не сделать единую точку входа?
т.е. в файле index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. System::Init();
  3.  
  4.  
  5. /*..........*/
  6. public static function Init(){
  7.   $s = new \Super($a,$b);
  8. }
  9. /*..........*/
  10.  
  11.  
  12.  


а метод init, пусть сам решает что и откуда ему запускать и какие классы создавать

тогда во всех остальных файлах будут храниться классы, и, если к такому файлу обратиться напрямую, ничего страшного не произойдет

superclass.php
PHP:
скопировать код в буфер обмена
  1.  
  2. class Super{
  3.   public function __construct($a,$b){.....}
  4. }
  5.  

(Отредактировано автором: 29 Августа, 2013 - 19:17:58)

 
 Top
Synov_son
Отправлено: 30 Августа, 2013 - 13:28:45
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Contr пишет:
http://www[dot]youtube[dot]com/watch?v=Aw28-krO7ZM
(Добавление)
лови, там 6 уроков.
Рецепт:
Просмотреть 10 секунд, пауза, повторить за ним, просмотр, пауза, повторить.

Повторять до готовности

Спасибо попробую
NoPaper пишет:
а метод init, пусть сам решает что и откуда ему запускать и какие классы создавать

Чего то я не понял суть метода, если честно.

(Отредактировано автором: 30 Августа, 2013 - 13:29:10)

 
 Top
avtor.fox
Отправлено: 30 Августа, 2013 - 13:38:30
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Synov_son пишет:
Но обработчики через ajax это использовать не могут.

Я проверяю, является ли запрос к контроллеру аяксом или нет. Ежели аякс пришёл, то дёргается определённый класс, который с ним работает. В классе реализован свой* роутер, где прописаны соответствия "что за запрос" => "метод для вызова". В таком случае невозможно забрать/изменить/удалить что-либо. Естественно валидация данных. Далее ответ фронтэнду в виде json строки, который занимается чем-то там непонятным)

да, аякс нускаю на index.php
 
 Top
Synov_son
Отправлено: 30 Августа, 2013 - 15:42:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




avtor.fox пишет:
Synov_son пишет:
Но обработчики через ajax это использовать не могут.

Я проверяю, является ли запрос к контроллеру аяксом или нет. Ежели аякс пришёл, то дёргается определённый класс, который с ним работает. В классе реализован свой* роутер, где прописаны соответствия "что за запрос" => "метод для вызова". В таком случае невозможно забрать/изменить/удалить что-либо. Естественно валидация данных. Далее ответ фронтэнду в виде json строки, который занимается чем-то там непонятным)

да, аякс нускаю на index.php

Да суть этого мне понятна, только вот в чем у меня загвоздка: когда get такой sitename.ru/main или sitename.ru/?page=main, то по тем урокам, что я смотрел (№19 в частности) дергается контроллер Controller_main или Controller_?page=main (Controller_ + get запрос). А если так sitename.ru/category/main, то Controllet_category. Тут я и путаюсь. Получается у меня должна быть полюбому категория, и если она одна, то htaccessом скрывать ее в урле. Правильно ?

(Отредактировано автором: 30 Августа, 2013 - 15:43:24)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB