[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопросы по ядру.
cccr85
Всем привет.

Возник такой вопрос, зачем модули разделили на 2 папки? На папку modules и папку admin. Причем у папки admin свой обработчик. А что мне делать если у меня не 2 пользователя, а например 5, это гость, админ, модератор, дирекция, сторонние сайты. Мне для каждого типа пользователей создавать свою папку с модулями? А допустим есть у меня модуль новости. И этот модуль отображает новости, но только каждому он показывает разный вид. Плюс админы и модераторы могут их менять. Это означает что у меня будет 5 одинаковых файлов с контроллером read в 5 разных папках? Мне что то не нравится...

Теперь по поводу MVC. Почему то потерялась модель в модулях представленных на сайте, я пока просмотрел только модуль новости.

Совсем непонятно зачем нужны файлы view.php, все что они делают это обрабатывают переменные переданные в шаблон, плюс подключают файл с шаблоном. Почему это не делается в контроллере?

Чтобы не только критиковать, я предложу такое решение.

1. Все модули лежат в папке modules. В ней так же лежит модуль admin, и в index.php при $GET['page'] == 'admin' просто подключаем modules/admin/router.php

2. По моему скромному мнению, каждый модуль должен состоять минимум из одного файла, это файл router.php в его задачи входит подключение всех файлов модуля, а так же подключение нужных библиотек из папки libs если они еще небыли подключены.
Так же в router.php вызывается какая либо функция в контроллере этого модуля, конечно если это требуется.

Какие еще могут быть файлы у модуля?
config.php
Настройки модуля, сделан очень просто, например чтобы указать количество новостей на страницу для модуля новости, нужно написать так: $CONFIG['news']['news_per_page'] = 10;

controller.php
Файл с логикой модуля, в нем нет кода просто так, все разложено по функциям. Имена функций имеют такой вид c_news_delete() где 'c' это показатель принадлежности функции к контроллерам, news это название модуля, delete это действие модуля.

model.php здесь содержатся функции модуля для работы с данными. Названы по аналогии с функциями в контроллере. только начинаются с 'm'.

validate.php Функции для проверки переданных данных. Имеют префикс 'v'. Упомяну что в index.php подключается свой validate.php который содержит базовые функции для валидации.

Так же у модуля могут быть другие файлы.

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





Спустя 9 минут, 58 секунд (27.03.2011 - 11:45) twin написал(а):
Замечтельно. Вот так и нужно относится к этим курсам, а не повторять не думая.
Вот ты сделал удобную для себя структуру. Значит научился мыслить самостоятельно.

А по поводу админки, так вообще то это делается в целях безопасности. Дело в том, что админка - самое уязвимое место. А очень часто она практически не используется. Настроил один раз сайт-визитку к примеру, и висит он пять лет, пока адрес не сменится или ассортимент)) В таком случае админку просто сносят с сайта и спят спокойно.

Да и вообще безопаснее. Потому и отдельно.

По поводу остального, я же только показал направление. Вот ты его развил для себя. Это радует. smile.gif

Спустя 15 минут (27.03.2011 - 12:00) cccr85 написал(а):
Оки, я понял smile.gif

А что многоуважаемые посетители форума думают по поводу моей структуры?

Спустя 3 минуты, 32 секунды (27.03.2011 - 12:04) cccr85 написал(а):
p.s.
По поводу уязвимости админки. Вначале я думал что лучше называть админку как нибудь так: admin325u14141fsd чтобы никто не догадался где она находится smile.gif
Теперь я думаю что будет проще проверять в модули админки есть ли у пользователя в куках значение admin и равно ли оно 1 например. Если нету то просто отдаем 404 и хацкер даже не узнает что у нас есть админка по адресу /admin/ smile.gif
А я перед заходом в админку смогу сам добавить в куки нужную инфу через меню браузера.

Спустя 44 минуты, 52 секунды (27.03.2011 - 12:48) twin написал(а):
Куку можно легко подделать

Спустя 4 минуты, 21 секунда (27.03.2011 - 12:53) cccr85 написал(а):
Я не про то как проверить доступ админа. Я про то как скрыть админку ото всех кто не знает как её сделать видимой.
Быстрый ответ:

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