php clean (mvc) архитектура для простой задачи - PullRequest
0 голосов
/ 20 июля 2011

Я пытаюсь найти чистый подход для простой проблемы в php 5.3.

У меня нет проблем с реализацией, я просто думаю о лучшем способе установки чистого решения.

Вот мой проект:

  • Я запрашиваю данные из общедоступного API.
  • Данные в формате JSON. Я конвертирую ответ JSON в объект php
  • Я передаю объект php моему представлению (движок шаблонов), где он повторяется, и отображаются как необработанные, так и отображенные данные.

Это мое текущее состояние кода:

В index.php мне требуются все классы и конфигурация. Я мог бы написать автозагрузочный класс, но я не думаю, что это вообще имело бы смысл, так как каждый класс, который мне требуется, всегда используется.

Затем я читаю свой конфигурационный файл и создаю из него объект параметров.

Также создается объект Request, которому мой объект Options передается с помощью инжектора конструктора.

В этом объекте я выполняю фактический запрос к API и возвращаю JSON. Должен ли я преобразовать ответ JSON в объекте Request или я должен написать некоторый вспомогательный класс для выполнения этой задачи, поскольку преобразование не имеет ничего общего с фактическим запросом?

Все еще в index.php я создаю необходимый объект View и создаю объект Controller, которому передается View, и вызываю его indexAction.

Моя структура папок выглядит следующим образом:

A. Классы

AA.Controller

AAA. IndexController.php

AA. Сервис

AAA. Service.php

AA. Options.php

AA. Request.php

A. Конфигурация

AA. config.php

а. index.php

Итак, как мне настроить мой проект для максимально чистого решения?

Поскольку у меня нет модели, у меня нет части "M", как в MVC. У меня есть только эти 2-3 класса, с которыми я не знаю чистого способа справиться.

Должны ли Options и Request быть классами сами по себе или они должны быть просто методами Службы?

Должен ли я полностью удалить Service и просто создать класс Helper, поскольку он на самом деле не является Service Layer? В настоящее время я делаю только некоторые сопоставления из необработанных данных с фиксированными значениями в Service

Я с нетерпением жду, чтобы услышать от вас, ребята

1 Ответ

1 голос
/ 20 июля 2011

Я говорю, что это пахнет чрезмерной инженерией.Все, что вам нужно сделать, это:

  1. сделать HTTP-запрос к API (несколько строк кода с использованием CURL, или, возможно, вы даже можете сделать это с file_get_contents(), используя PHP-упаковщик URL)
  2. вызов json_decode()
  3. вызов вашего механизма шаблонов с данными JSON
  4. эхо-вывод вывода механизма шаблонов клиенту

В общем, если у вас есть шаблонизатор, он не должен занимать более 20 строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...