![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Elfet |
|
||||||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Всем привет!
Пытаюсь реализовать модель MCV. Посмотрите пожалуйста мой код - удалось ли мне это сделать? Заранее спасибо! Вот код: index.php
classes/kernel.php
control.php
classes/view.php
|
||||||||
|
|||||||||
| SamDark |
|
|||
|
Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
Elfet,
Опишите своими словами, что такое MVC. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
MVC - Model View Control(в моём случае)
Шаблон проектирования в котором должно реализоваться разделение на три элемента: Model - отвечает за представление объекта Veiw - за представления данных пользователю Controler - за анализ запроса пользователя и сбор необходимой информации из модели. Что-то такое, я прав? Добавлено через 2 минуты и 36 секунд Приведу пример объекта для View view/wrap.php
Добавлено через 3 минуты и 38 секунд У меня тут реализация Model опущена. Добавлено через 5 минут и 12 секунд PS Кто мне ставит минусы и ничего не комментирует? |
|||
|
||||
| Sentox |
|
|||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Честно говоря, я не совсем понял, зачем класс контроллера расширять от авторизации админа (причём это конкретный модуль).Когда контроллер ещё вдобавок абстрактный.Мне кажется всё таки контроллер нужно сформировать из абстрактного класса, после чего ОТ НЕГО будут наследоваться другие классы - контроллеры.Он в свою очередь будет типом для ядра системы.
А index.php сделать точкой входа, инфраструктурой или .... для чего вообще наследовать от контроллера? Может я не прав но ... Большая связанность модулей в такой структуре будет 1 => 2 = > 3 => 4 => ... Лучше наверное всё таки так |2 => |4 => 1 =>|5 => |8 => 7 Ядро содержит обьекты а не наследуется от них. Да наверное уместен вопрос какой или какие Вы паттерны используете? Это сообщение отредактировал(а) Sentox - 17.6.2009, 19:16 |
|||
|
||||
| SamDark |
|
|||
|
Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
Elfet,
Что такое «представление объекта»? Пример для View верный. Замечание Sentox верное. control.php написан плохо: мешается оформление (копирайты и т.д.) с логикой. Это всё надо в View. View написан нормально. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
| Elfet |
|
||||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Вот пример: Users -GetUser -SetUser -DeleteUser -UpdateUser Что-то типа этого. Я тоже хотел так сначала делать, но затем передумал. Решил в каждом файле инклудить kernel.php Про Control - это не совсем контроллер. От нужен для реализации трех абстрактных методов AdminAuth: - Content - LoginForm - ExitForm AdminAuth->Login() проверяет выполнен ли вход в админку и вызывает либо Content, либо форму входа: LoginForm. Либо выхода: ExitForm Вроде бы у меня такая система и получается? Все свои "страницы" (такие как index.php (класс Index)) наследуют только один класс Control.
Какие кроме MVC? Добавлено через 2 минуты и 26 секунд Приведу код adminauth.php
Добавлено через 5 минут и 36 секунд
Копирайты в View могу поместить, но вот как остальное? Функция Control->Echoes вызывает как раз эти представления из View в том порядке в котором нужно. Это вроде бы то что и должен делать контроллер? |
||||||
|
|||||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Так же можно создать Ajax класс от AdminAuth - и весь функционал останется таким же.
|
|||
|
||||
| SamDark |
|
|||
|
Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
Elfet,
Может для Auth использовать dependency injection, а не наследование?
Добавлено через 2 минуты и 55 секунд Инициализацию данных для Control->Echoes можно засунуть, например, в конструктор MyCoolAuthController. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
SamDark, а какая разница? У меня в админке все контроллеры должны быть защищены Auth, а так придётся в каждом MyCoolAuthController вручную прописывать все эти проверки: if(!$this->checkLogin())
А так у меня всё проверяется в AdminAuth, а в Control - находятся "общие для всех контроллеров методы" SamDark, я особых различий в том что я предложил и ты не вижу. Мне кажется что это уже дело вкуса? Или всё же они чем-то серьёзно отличаются? |
|||
|
||||
| SamDark |
|
|||
|
Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
Elfet,
Зачем в каждом? Делаем один AdminController, от него наследуем все контроллеры админки. Отличия есть. Не в том, что оно делает, а в том, как с этим потом жить. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
| Sentox |
|
||||||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
А кто мешает это сделать в основном классе контроллера допустим для админки.
Я не списывал, просто совпало. Это сообщение отредактировал(а) Sentox - 18.6.2009, 17:03 |
||||||
|
|||||||
| Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Я вот и спрашиваю. Какие отличия? Я не могу представить ситуации, когда моя реализация окажется неудобной. Я вижу отличия только в том, делать ли проверку:
в методе контролера, либо в методе auth. И мне кажется логичнее, её вынести в auth. Или я неправ? Это сообщение отредактировал(а) Elfet - 19.6.2009, 01:07 |
||||
|
|||||
![]()
|
| Правила форума "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. |