Мои команды должны поддержать большое php приложение, которое было очень плохо записано. Это - соединение HTML, JavaScript и SQL сверху большой плохо разработанной базы данных (напр. это имеет таблицу с немногими сотнями столбцов). Единственное преимущество кодовой базы состоит в том, что она работает.
Мы - постоянно части устранения ошибки и перезаписи его.
Я хотел бы дать структуру переписыванию, мы делаем, таким образом, я имею хотя об интеграции mvc платформы в к кодовой базе. Вы могли предложить какую-либо хорошую платформу для среды?
Вот список вещей, которые я ожидал бы от такой платформы:
Я повторяю 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 вы можете медленно переместить свой проект в более структурированное состояние, понемногу немного.
Я предлагаю Zend Framework для этой цели, потому что это каркас клей. С ZF вы не вынуждены в жгуте того, как структура ожидает, что вы работаете с ним. Вы можете выбрать то, что вы хотите, и постепенно замените ваш наследный код с кодом из ZF. Это также поддерживает все, что вы упомянули.
Кроме того, я предлагаю запустить различные инструменты QA, найденные в phpqatools.org , чтобы поддержать вас в отладке и рефакторинге.
Рамочные сравнения