За последние 24 часа нас посетили 35570 программистов и 1819 роботов. Сейчас ищут 783 программиста ...

Модель в шаблоне проектирования MVC. Обязанности.

Тема в разделе "Прочие вопросы по PHP", создана пользователем Invision, 30 май 2013.

  1. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Добрый день уважаемые формучане! Я в замешательстве, правда!
    Так сложилось, что на достаточно крупном проекте меня поставили ведущим разработчиком и в мои обязанности входит проверка кода. В основном задействованы фрилансеры.
    Прошло чуть больше месяца, но за это время я чувствую значительный прирост своих знаний. Я стал все больше углубляться в детали, ведь если разработчик идет не в нужном направлении, необходимо объяснить доступным языком почему этот подход плох, а какой будет более предпочтительным. Вообщем аргументировать и разложить все по полочкам.
    И вот я столкнулся с проблемой. Каждый трактует по-своему сервисы, хелперы, модели. Вот например, разработчик знает, что модель работает с данными и расценивает это в буквальном смысле, например делая там то, чем должно заниматься представление.
    Возник спор, об обязанностях модели (ORM), мне хочется услышать ваше мнение.

    Задача:
    Есть сущность, к которой мы можем прикрепить ZIP архив. Из архива нужно получить html файлы и сохранить на сервере. При получении сущности нам необходимо вывести содержимое html документов и пр. поля. Содержимое файлов мы не должны хранить в БД.

    Прошу рассказать в двух словах (можно и более) ваше видение в подходе к решению этой простой задачи.
    Все происходит в модели? Выносим реализацию работы с архивом в сервис? Модель может по запросу обратиться к файлам которые нам известны, получить их содержимое и вывести?

    Благодарю всех кто проявил интерес!
     
  2. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Модель может работать с файлами, почему нет. Самый банальный пример - фотографии, есть модель фото, которая отвечает как за работу с базой, так и за сохранение/получение файла.

    В вашем случае, как мне кажется, у вас две связанные модели - одна вашей сущности, вторая - zip файла. Можно из модели сущности получать сразу модель архива, а можно получать просто путь к файлу и создавать модель архива вне. Наверно второй вариант гибче