За последние 24 часа нас посетили 35375 программистов и 1745 роботов. Сейчас ищут 930 программистов ...

Подскажите литературу по MVC

Тема в разделе "PHP для новичков", создана пользователем Zar, 21 мар 2013.

  1. Zar

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

    С нами с:
    28 авг 2012
    Сообщения:
    52
    Симпатии:
    1
    Подскажите, пожалуйста, литературу на русском языке глубоко затрагивающую MVC в PHP.
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    По моему такой нет тем более на русском.

    Читай мануалы по фреимворкам.
     
  3. d1gi

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

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    http://www.ozon.ru/context/detail/id/5648968/ - из современных наиболее полезная и актуальная книга на руском.

    Главу 15 читать ненадо, сейчас используется Composer и https://packagist.org/

    Главу 17 тоже ненадо читать, сейчас используется Git.

    фреймворк рекомендую начинать изучать именно Symfony2 (я на полном серьёзе), а потом уже, если жизнь припечёт - быстренько освоишься с любым другим.
     
  4. Priler

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

    С нами с:
    2 мар 2013
    Сообщения:
    171
    Симпатии:
    0
    Адрес:
    New-York
    По пыху незнаю, но знаю что Django Framework на Python использует технологию MVC
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты это к чему?
     
  6. Zar

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

    С нами с:
    28 авг 2012
    Сообщения:
    52
    Симпатии:
    1
    Спасибо за рекоммендации. С этой книги и начал изучать ООП. Кстати, саму формулировку MVC я в книге пока не видел.
    Сейчас рассматриваю движок магазина opencart. До фреймворка, кажется, ещё не дорос, но о Symfony2 наслышан много хорошего. ))
     
  7. d1gi

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

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    сам по себе MVC это просто :) запрос выполняется только к "контроллеру", он в свою очередь вытаскивает данные из "модели", а затем эти даннеые отдаются шаблону (view), который и формирует вид для клиента.

    также надо иметь ввиду, что есть случаи, когда этот паттерн какбы не очень уместен, например при реализации REST API, да запрос идёт на контроллер, да контроллер работает с моделью, но ответ отдаётся в виде JSON, который какбы не вписывается в одеологию "view", но можно не заморачиваться особо ;))
     
  8. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    > который какбы не вписывается в одеологию "view"
    Вполне себе вписывается. echo json_encode и будет view.
    Например, на одном проекте мы делали так - контроллер передавал во view данные, роутер передавал во view желаемый тип контента на основе расширения в запросе, view выбирал рендер: это мог быть или шаблонизатор, если просили html, или геренатор xml, или json_encode если просили .json - таким образом одна и та же страница могла быть запрошена и в json (например, для ajax) и в HTML (для прямых ссылок). Это и есть идеология MVC - контроллер дает чистые данные и в идеале вообще не знает как их используют, а view на основе своей логики преобразовывает эти данные в ту или иную текстовую строку.
     
  9. d1gi

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

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    тоже верно :)) тут главное принцип ощутить...

    есть например запросы без "модели" ;)) например если нам нужно просто хтмл страничку вывести, то клиента обращается к котроллеру каких-то плоских статей, который выбирает какой шаблон отправить ;)

    еще в Symfony2 там как-бы не совсем MVC, там программист сам решает, что у него будет "моделью", а вот Doctrine2 не совсем соответствует понятию "модель" т.к. оперирует 2-мя понятиями: "Сущность" и "Репозиторий", которые какбы приходится вызывать из контроллера... т.е. там больше получается EVC :)

    также надо иметь ввиду, что "запрос" может прийти хоть откуда! обычно это конечно клиентский запрос по HTTP, но "клиентом" может быть и другой "котроллер"! ;) и даже из "вида" можно обратиться к "контроллеру", это уже называется HMVC :) "hierarhical-mvc"
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
  11. d1gi

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

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    всё верно :) например если контроллер вернёт:
    Код (Text):
    1.  
    2. return new JsonResponse(array('status' => $status, 'message' => $message, 'errors' => $errors));
    то это какбы и представление :) но оно какое-то своеобразное ;) т.е. новичок нигде тут слова "view" не увидит, но в принципе да, клиент получает данные в "виде" JSON, которые отдал ему "контроллер".