Какую php платформу использовать сверху кодовой базы спагетти?

Мои команды должны поддержать большое php приложение, которое было очень плохо записано. Это - соединение HTML, JavaScript и SQL сверху большой плохо разработанной базы данных (напр. это имеет таблицу с немногими сотнями столбцов). Единственное преимущество кодовой базы состоит в том, что она работает.

Мы - постоянно части устранения ошибки и перезаписи его.

Я хотел бы дать структуру переписыванию, мы делаем, таким образом, я имею хотя об интеграции mvc платформы в к кодовой базе. Вы могли предложить какую-либо хорошую платформу для среды?

Вот список вещей, которые я ожидал бы от такой платформы:

  • API должен быть очень стабильным. Мы не можем позволить себе переписать код каждого выпуска.
  • Пользовательское управление сеансами или по крайней мере рабочий на стандартном $ _SESSION [] (Чтобы смочь говорить со старым кодом).
  • Пользовательская аутентификация.
  • Используя необработанный SQL должен хорошо поддерживаться (Базу данных трудно представить с точки зрения объектов).
  • Это не должно предполагать, что у меня будет таблица на контроллер.
8
задан RaYell 26 January 2010 в 14:32
поделиться

2 ответа

Я повторяю Zend, просто чтобы перечислить, как он соответствует вашим конкретным требованиям:

  • API должен быть очень стабильным. Мы не можем позволить себе переписать код на каждом выпуске.

Как уже упоминалось, API имеет тенденцию быть стабильным между незначительными релизами. Основные релизы с изменениями не должны быть трудно интегрироваться.

  • Нестандартное управление сессией или, по крайней мере, работает на стандартных $ _session [] (уметь говорить со старым кодом).

Zend_Session делает именно то, что вы хотите. Магазин сеанса по умолчанию составляет $ _session, к которой Zend добавляет концепцию пространства имен. Ваш существующий код должен быть в порядке, и любой новый код может использовать объект Zend, чтобы убедиться, что нет перекрытия имени переменной.

  • Пользовательская аутентификация.

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

  • Использование RAW SQL должна быть хорошо поддерживаемой (база данных сложно представить с точки зрения объектов).

ZEND_DB реализует шаблон шлюза таблицы, который позволит вам получить доступ к данным через объект; Однако вы также можете просто использовать SQL напрямую и получить результаты в качестве массивов.

  • Не следует предположить, что у меня будет таблица на контроллер.

Zend_Controller И остальные реализации MVC Zend не имеют допущений о модели, оставив эту полностью до вас. Я уверен, что некоторые люди этого не нравятся, но это одна область дизайна MVC, которая значительно варьируется от проекта для проекта - так что это полностью оставлено разработчику. Вы можете продлить некоторые классы БД или просто используйте существующий код доступа БД.

Это пример менталитета выбора и выбора Zend Framework. Вы действительно можете использовать любую из библиотеки самостоятельно. Это должно хорошо работать с вашим проектом. Например, вы можете использовать Zend_View без остальных классов MVC, просто чтобы переместить презентацию в шаблоны. Или просто используйте Zend_auth, чтобы заменить существующую систему аутентирования. С Zend вы можете медленно переместить свой проект в более структурированное состояние, понемногу немного.

2
ответ дан 5 December 2019 в 23:15
поделиться

Я предлагаю Zend Framework для этой цели, потому что это каркас клей. С ZF вы не вынуждены в жгуте того, как структура ожидает, что вы работаете с ним. Вы можете выбрать то, что вы хотите, и постепенно замените ваш наследный код с кодом из ZF. Это также поддерживает все, что вы упомянули.

Кроме того, я предлагаю запустить различные инструменты QA, найденные в phpqatools.org , чтобы поддержать вас в отладке и рефакторинге.

Рамочные сравнения

3
ответ дан 5 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: