За последние 24 часа нас посетили 39043 программиста и 1285 роботов. Сейчас ищут 1027 программистов ...

Без объектов не может быть MVC?

Тема в разделе "PHP для новичков", создана пользователем Walk, 27 янв 2018.

  1. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Представьте, вы ради разнообразия решили сделать свой MVC-ферймворк без объектов. Все на статических методах и свойствах. У вас, как и в обычных фреймворках, есть классы отвечающие за вид, модель, контроллер.

    Вчера услышал интересное мнение от опытного программиста, что если во фреймворке нет объектов, то неважно как он сделан - это уже не MVC.

    Я же думал, что MVC это вообще какое-то либо разделение кода на отдельные части - пусть даже без объектов и классов вообще.

    Интересно стало послушать мнение других по этому поводу - действительно ли если нет объектов - это не MVC?

    P.S. В определении MVC на википедии ничего про объекты не говорится:
    Но упоминается, что MVC появился при развитии ООП:
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не, почему, можно на функциях - передавать функции как параметры в другие функции. но ты ж ебанёшься с ним работать.
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Работал с такой реализацией MVC. Работать можно, хоть и не очень удобно. Для меня, по крайней мере.
    Это только мнение.
     
  4. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Сейчас разговор не об удобстве, а о MVC - что является MVC, а что нет.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ну ты привёл определение, там нету ни слова про объекты. Здесь @Fell-x27 неоднократно говорил, что если ты три эти секции даже в одном файле отделишь комментариями друг от друга, и не будешь в каждую из секций совать то, что не следует, то это MVC.
     
  6. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Я думаю что MVC, это когда код распределяется на свои места, в одном месте , делаются одни штуки, в другом, другие и в третьем уже будет загружен нужный результат. И объекты тут не причём.
     
    Fell-x27 нравится это.
  7. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    ИМХО неверное мнение)) MVC можно и на функциях делать.. другое дело что ООП без объектов невозможно)) это да... а MVC прекрасно себя чувствует вообще без классов)
    --- Добавлено ---
    можно еще через глобальные переменные передавать)) но тогда еще больше можно е@#$@ся)))
    --- Добавлено ---
    я читал помню статьи про MVC и вечно что то такое умное написано было что бы простые люди не поняли))
    на самом деле так все просто))
    1. view это грубо говоря шаблон - то что видит пользователь в браузере.
    2. Model - это подготовка данных для шаблона, что бы потом подставить эти данные в нужные места шаблона
    3. Контроллер - просит у модели данные и передает их в вьюху))

    ПЫСЫ модель это не обязательно объект или класс.. это может быть просто функция.. я когда то делал тестовое задание тут))
    там у меня вроде как MVC на функциях))
    --- Добавлено ---
    другое дело что функции удобны если это проект на одну или две страницы...
    когда начинается что то большое - тогда уже лучше методы по классам складывать..
    плюс обычно процедурном стиле обычно функции это простыни на много много строк))
    в классах методы стараешься обычно делать мелкие.. удобнее код читать..
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Можно вечно смотреть на три вещи: как течет вода, как горит огонь, и как люди спорят про MVC...
    --- Добавлено ---
    Совершенно верно. Это даже не вопрос архитектуры. Это лишь вопрос грамотной организации кода, от которой совершенно не зависит его работоспособность. Но зависит удобство поддержки. При этом "грамотная организация кода" - это не синоним "ООП". Это "думай, что делаешь".
     
    php_dummy нравится это.