Это хорошая идея, чтобы встроить php-фреймворк в существующее php-приложение без такового? - PullRequest
2 голосов
/ 25 ноября 2010

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

Например, все страницы обслуживаются напрямую по URL, и десятки из них выглядят так

//monitoring_projet.php
<?php
session_start();
require_once($_SERVER['DOCUMENT_ROOT'].'/include/header.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/include/config_ats.php');
$page_link = 'monitoring_projet.php';
?>

<div id="content" style="padding-left:10px;margin:0 10px">
<br />
<?php
include($_SERVER['DOCUMENT_ROOT'].'/include/gestion_projet_entreprise.php')
?>
</div>

<?php require_once($_SERVER['DOCUMENT_ROOT'].'/include/footer.php'); ?>

Я читал об Zend Framework, как о своем яде на php framework. Было бы хорошей идеей попробовать использовать ZF просто для начальной загрузки приложения и собрать весь этот общий код в одном месте? Или добавление фреймворка в смесь вызовет больше головных болей, чем стоит на данный момент?

Ответы [ 3 ]

4 голосов
/ 25 ноября 2010

ИМХО, включение фреймворка в подобный проект просто создает проблемы;Я полагаю, что конфигурация, управление зависимостями и тому подобное были бы настоящим хлопотом.

Подход, который, я думаю, будет работать лучше всего, заключается в создании отдельного пустого фреймворкового проекта, определении представлений, контроллеров и моделей в соответствии со спецификациями вашего проекта., затем вставьте код с ваших текущих страниц, распределяя код по контроллерам и просматривая соответственно.Таким образом, вы можете перенести классы конфигурации и поддержки в платформу, не пытаясь изогнуть платформу в соответствии с вашим проектом.

3 голосов
/ 25 ноября 2010

Это полностью зависит от ваших навыков и системы, которую вы пытаетесь конвертировать в Zend.

На работе, над которой я сейчас работаю, мы постепенно добавляем в нее библиотеки Zend Framework, что идет довольно неплохо.

Если вы хотите со временем заменить весь свой веб-сайт Zend Framework (в соответствии с шаблоном MVC), это уже другая история.В этом случае вы получите все виды неприятностей.Вы внезапно вынуждены использовать определенный шаблон проектирования, с которым не может справиться ваш текущий код.В этот момент у вас начнутся головные боли, потому что вы скоро потеряете обзор того, что делаете.Не делайте этого медленно, но сделайте это за один шаг.Это может вызвать головную боль, но только на короткое время.

Удачи!

0 голосов
/ 25 ноября 2010

В настоящее время я работаю в компании, которая представляет Zend Framework для своей текущей кодовой базы. Это вызвало проблемы, но теперь постепенно поправляется. Как упоминает Кроф Дракула, управление зависимостями может быть проблемой, а конфигурация вызывает некоторые головные боли.

У нас был паттерн DAO, BO, VO, который работал хорошо, но с ним было плохо работать. Мы медленно переносим классы в стиль ZF. Если вы серьезно относитесь к этому, я бы порекомендовал идти медленно, чтобы два стиля работали бок о бок. Сначала мы запускали модули Zend Framework вместе с нашими устаревшими компонентами, и только когда это работало безупречно, мы начинали миграцию и рефакторинг.

Если у вас есть навык и у вас есть время для перехода, вы об этом не пожалеете, я уверен.

...