• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Mvc

  • Автор темы s10
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

s10

много читал про топологию. лирика сплошная. ничерта не понятно.
разъясните:

1.
в бд есть поле которое хранит timestamp.
мне нужно показать содержимое этого поля пользователю, в понятном для него виде( m:d:Y ).
согласно топологии mvc, где нужно обработать содержимое этого поля и привести его к нормальному
виду ? у меня это реализовано в контроллере.

2.
тоже самое. только в бд хранится пол пользователя в формате 1 и 2 (male & female).
согласно топологии, где надо преобразовать содержимое этого поля ? сомневаюсь что верно - но
сейчас это у меня реализовано в самой модели.

3.
пользователь вошел в аккаунт на сайте. я регистрирую его имя в сессии.
необходимо что бы при показе всех новостей выполнилась проверка, является ли пользователь
автором данной новости(новостей). если да, то помимо ссылки "читать далее", показать ещё две -
"удалить" и "редактировать". контроллер вызывает метод модели для выборки всех статей из базы. результат выполнения передается во view. в самом view , при выводе всех новостей, выполняется проверка на соответствие имени автора статьи и имени, зарегистрированном в сессии.


хотелось бы узнать правильные ответы.
спасибо.
 
A

Andrew Stephanoff

Мне бы и самому хотелось бы знать :)

1. До MVC я выбирал прямо из базы в необходимом мне формате (а что, очень удобно и затраты на преобразование берет на себя mysql, написанный на C), но кажется что в MVC это надо делать во View.
Хотя вроде cakephp позволяет управлять выборками из бд, надо внимательно посмотреть.

2. В cakephp реализованы отношения между таблицами на уровне моделей, так что видимо в модели.

3. Для меня логичнее делать это в элементе View, но сессию не проверять, а передавать во View идентификатор залогиненого пользователя, саму проверку сессии выполнять в контроллере.
 
S

s10

насколько я понял, правильного мнения по этому вопросу нет в принципе.
я работаю с zend framework.

1. согласен. можно. да и проще сразу выбирать все что нужно еще в mysql. у меня например FROM_UNIXTIME() в самом селекте.
после таких преобразований результат выборки уже готов к отображению.

2. из предыдущего следует что в модели.
тот же самый селект с конструкцией if(sex=1,'male','female') as sex

3. да. так и делаю. если существует сессия пользователя, то в шаблоне устанавливается соотв. переменная.

пересмотрел свой код (последний проект на основе mvc).
и выяснил , что функционал всех трех частей у меня варьировался в зависимости от настроения разработчика.
:)
бардак кароче полный.
решил привести все в нормальный вид.
теперь мысли о том "а как было бы лутше" не дают спать.
 
G

Gisma

1. Модель, задача модели преобразовывать данные в отображение, у тебя как раз тот случай
2. Опять же модель -> ты подаешь ей 1 или 0 и по спецификации она должна определить что male/female и вывести мужик/баба или male/female
3. Контроллер должен выдать также список авторских статей, по-другому получается часть логики (определение чья статья) переносится в view, следовательно есть потенциальная возможность в view сделать всем ссылки на редактирование статьи

добавлю, mvc для большинства сайтов просто не нужен. ;)
Нужно качественное программирование, а не следование идеи. Я уверен что у тебя проект не более 25 000 строк кода, поэтому париться на тему MVC вообще не стоит, ты пишешь небольшой сайт, который вряд ли будет изменяться, так чего париться. Гораздо лучше будет, елси ты напишешь красивый код и задокументируешь его. Такой проект будет более расширяем, чем код с гипотетичными, но нихрена не понятными MVC :p
 
A

Andrew Stephanoff

Позволю с тобой не согласится, код с использованием MVC выглядит куда логичнее и красивее (по крайней мере в cakephp). И даже если надо будет писать небольшой сайт, я все равно воспользуюсь этим паттерном, так как логика очень четко прослеживается.
 
G

Gisma

ТЕБЕ он понятней кажется :p и ТОБОЙ ТВОЯ логика прослеживается;_)
код должен быть просто красивым и понятным ;) а какие паттерны применять, руководствуются обычно ситуацией;)
 
A

Andrew Stephanoff

В любом случае для веба ты придешь к mvc, если надо будет логичный и красивый код; по крайней мере я до того, как узнал про этот паттерн интуитивно к нему стремился
 
G

Gisma

:p ну это популярность, равно как и парсеры канут в лету, так и это.
Есть волна всеобщей эйфории ;) ну что поделаешь, я использовал mvc во многих проектах (год назад во всех) но теперь во многих я от него отказываюсь, он там не нужен ;)
Где нужен там применяю ;) Вот если хочешь, прямо ща пишу проект с применением последнего, но я это делаю только потому что без него никуда не денешься
 
A

Andrew Stephanoff

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

Gisma

паттерны не канут, я говорю про эйфорию вокруг mvc в веб-программировании:p
 
S

s10

паттерн не догма - а руководство к действию.
мне теперь ясно что каждый понимает их ( например по mvc ) исключительно по своему.

но
даже в моём случае, использование mvc - очень удобно.
удобно и быстро. а главное красиво.

насчет популярности mvc ничего не могу сказать.
разве паттерны вообще могут быть популярными или модными ?
помоему это свойственно только реализованным на них продуктам.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!