|
|
|||||||||||||||||||||||||||||||
Ковыряем MVC18.08.2016, 13:24. Показов 2009. Ответов 30
Метки нет (Все метки)
Решил разобраться с концепцией MVC и понять как оно работает. За основу взял ЭТО
В общем немного упростил для лучшего восприятия и вот что получилось: Файл index.php Кликните здесь для просмотра всего текста
Файл controller_404.php
0
|
|||||||||||||||||||||||||||||||
| 18.08.2016, 13:24 | |
|
Ответы с готовыми решениями:
30
Ковыряем SWF файлы
связь MVC и MVVM. Трудно ли освоить mvc параллельно с изучением ASP.NET |
|
|
||
| 20.08.2016, 09:11 [ТС] | ||
![]() Почему пришел к выводу что нужно четко определиться со структурой и логикой работы контроллеров на этапе проектирования. Но прочитав "тонны" статей, в голове только каша, мало чего годного есть, что можно взять за основу.
0
|
||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|||
| 20.08.2016, 09:49 | |||
|
В C_Base этого делать не нужно, поскольку каталог товаров должны видеть все. Зато на каждой странице нужно отображать корзину с кол-вом товаров и итоговой суммой заказа. Соответственно, здесь можно получить корзину и передать её в базовый шаблон вместе с остальными данными. Но для админки корзина не нужна. Вот и получается, что в одном контроллере мы делаем что-то общее для админки, в другом - что-то общее для публичной страницы. Добавлено через 2 минуты
0
|
|||
|
|
||||
| 20.08.2016, 09:55 [ТС] | ||||
|
Если пользователь не авторизован - выводим "контент" №1 Если пользователь авторизован, но не админ - выводим "контент" №2 Если пользователь авторизован и он админ - выводим "контент" №3 Чем плоха такая схема?
0
|
||||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|||
| 20.08.2016, 10:20 | |||
|
Поэтому имхо правильней сделать в C_Admin_Base просто проверку на авторизацию, а в конечном контроллере уже проверять, есть ли у авторизованного юзера права на конкретное действие.
0
|
|||
|
|
||
| 20.08.2016, 10:31 [ТС] | ||
|
гость/не гость/пользователь/ не пользователь/админ/не админ/менеджер/не менеджер/(да хоть собака/кошка/корова) ![]() и сделать для них привилегии гнать/держать/смотреть/видеть/дышать/слышать/ненавидеть/зависеть/вертеть/обидеть/терпеть ![]() ну сделать таблицу прав (кто на что имеет права) это и расширять удобно, появился пользователь зарегистрировался, по умолчанию проставила система ему права в таблице прав. добавилось новая привилегия, добавил ее нужным пользователям.
0
|
||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|
| 20.08.2016, 10:47 | |
|
Gcom, ничего не мешает, я и имел ввиду, что нужно использовать подобную систему.
Мне только непонятно, как вы предлагаете делать проверку прав на конкретное действие в C_Admin_Base (или C_Controller?). Получается, базовый контроллер должен посмотреть на URL и пришедшие GET/POST данные и, в зависимости от них, проверить наличие прав. Предполагаю, что получится трудномасштабируемый столб текста.
0
|
|
|
|
||
| 20.08.2016, 11:01 [ТС] | ||
|
Но мысли все же есть: думаю возложить все эти проверки на "роутер", так сказать роутер как раз и будет анализировать входящие запросы и уже на основе этого вызывать нужные классы. Может я и не на правильном пути, но пока другого я не вижу
0
|
||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||||||
| 20.08.2016, 11:17 | ||||||
|
Можно так организовать проверку доступа к контроллерам:
2
|
||||||
|
|
||||||
| 20.08.2016, 11:51 [ТС] | ||||||
|
А поясните мне такой момент, попалась мне на глаза такая функция:
зачем она вообще нужна?
0
|
||||||
|
|
||
| 20.08.2016, 12:27 [ТС] | ||
|
Да и в той теме есть что почитать и поучиться
0
|
||
| 20.08.2016, 12:27 | |
|
ASP.net MVC против MVC обычного Стоит ли изучать asp.net mvc 4 из за скорого выхода asn.net mvc vNext ? Разница между MVC 4 и MVC 5 Перенос кода с MVC 2 на MVC 4 ASP.NET MVC 4,ASP.NET MVC 4.5 и ASP.NET MVC 5 большая ли разница между ними? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|