![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Разбираюсь с MVC в PHP, перечитал много статей, но толково рабочего кода не нашёл, может из за того что не до конца понял структуру MVC. Прошу линк на код MVC не большого проекта. Google Code Search
Это сообщение отредактировал(а) nIkTo - 29.11.2010, 12:14 |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 13 Всего: 78 |
Возьми любой фреймворк (Zend, Kohana), и посмотри, как там все реализовано.
-------------------- Ll 2 |
|||
|
||||
Warpkid |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
Не знаю конечно, это ли тебе надо, но:
http://www.phpro.org/tutorials/Model-View-...roller-MVC.html Внизу есть линк на исходники Добавлено через 1 минуту и 44 секунды
оО Пардон, но брать Zend и пробовать разобраться в нем, как и что там реализовано - это садомазохизм. |
|||
|
||||
SamDark |
|
|||
![]() Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
-------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Warpkid, SamDark, спасибо за ссылки посмотрел, примерно такие статьи и посты я и читал, кстати http://www.phpro.org/tutorials/Model-View-...roller-MVC.html есть рерайт на русском http://habrahabr.ru/blogs/php/31270/.
Хотелось бы полноценного примера, с аутентификацией, сессиями, работой с БД, но и лезть в сложные фреймворки думаю пока нет смысла, так как в таких дебрях я точно заблужусь. |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Так и не нашёл нормального примера аутентификации в MVC =(
Может кто ссылку на код дать ? |
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
nIkTo, на YII глянь, у них базовый пример эт блог
|
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Muerto, очень много кода, скил пока не тот у меня. Нужно что-то проще.
|
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
делаешь контроллер авторизация, далее добавляешь разные действия, как восстановление пароля, вход, страница не верного пароля...
Если понятна основа то в чем проблема? /auth/login /auth/recpass /auth/fail/err/4 и тп. |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Создаю такую структуру:
/login /logout /page1 /page2 /page3 для того чтобы смотреть page1, page2, page3 необходима авторизация. Так вот вопрос где проверять прошёл ли пользователь аутентификацию ? то есть заходит пользователь на /page2 роутер вызывает контроллер page2 с дефолтным действием index, а вот где проверить надо ли вызывать котроллер или делать редирект на /login .... в общем как говорится лучше один раз увидеть чем ... |
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
Ну возможно есть какие то супер хитрые способы к примеру, создать таблицу прав доступа, и если сессии нету и раутер твой получает защищенную страницу, то на логин послать...
А так просто проверяешь сессию где угодно... в контроллере твоей страницы к примеру... |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Muerto, тоесть, если пользователь запрашивает /page1 то код:
1. Стартует сессию 2. Обрабатывает url и вызывает контроллер page1 3. В конструкторе контроллера проверяем есть ли $_SESSION['password'] и $_SESSION['username'] если нет то пишем header('Location: /login'); так ? |
|||
|
||||
SamDark |
|
|||
![]() Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
Стартовать сессию надо вообще всегда. Остальное так же.
-------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
не всегда, а только когда есть кука или параметр с именем session_name(). Ну или когда действительно нужно стартовать сессию - при авторизации, например. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
![]() ![]() ![]() ![]() ![]() ![]() |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
Зависит от того, к чему тебе нужно ограничить доступ. К конкретному адресу или контроллеру который к нему прикручен, а может исходя из каких - то внутренних правил, специфичных для контроллера. В первом случае пользователя можно обломать на этапе роутинга, в остальных - проверку можно производить и в контроллере. Ежели ты ломаешь голову над тем как хранить и обрабатывать структуру прав - покопай в сторону ACL |
|||
|
||||
SamDark |
|
|||
![]() Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
Или RBAC.
-------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Нужна просто аутентификация ни каких ролей или разграничения прав среди аутентифицированных нету.
|
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
Ну можно так сделать:
Ну а дальше немного воображения и экспериментирования... Это ты в свой раутер запихать можешь... За святое брать не стоит ибо на скорую руку накидал ![]() |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
что-то вроде такого... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |