4

Symfony2に移行したいレガシーアプリケーションがあります。このアプリケーションはMVCに組み込まれておらず、PSR-0との互換性はありません。「/ search.php」がファイル「search.php」を指し、メニュー、ヘッダー、フッターが含まれているという点で、非常にレガシーなアプリケーションです。異なるファイルが共有します。

どういうわけかこのアプリケーションをSymfony2にすばやく汚いプラグインしてから、理想的なSymfony2アプリケーションアーキテクチャに一度に1つずつ移動し始めることができれば。ウォーターフォールですべてを移植してから、3〜6か月で大規模な更新を行うことは本当にしたくありません。誰かがSymfony2コントローラーでのmysqlクエリのようなものを含むネイティブphpスクリプトを実行する方法またはこれを行うための他の最良の方法を推奨できますか?私は現在、おそらくphpまたはtwigテンプレートにファイルを含めることを検討しています。ありがとう!

4

1 に答える 1

5

サーバーレベルで行うことを検討してください。Web サーバーは、URL の一部を新しい Web サイトにルーティングし、残りをレガシーにルーティングできる必要があります (少なくとも Nginx はそれを実行できます)。書き換えを進めたら、URL の書き換えを変更し、追加の URL を新しいアプリケーションにルーティングするだけです。

これを Symfony コントローラーで行うのもかなり簡単です (ただし、試したことはありません)。次のようなアクションを呼び出すフォールバック ルートが必要です。

public function legacyAction()
{
    // decide which file to include
    $legacyFile = '/path/to/legacy-app/search.php';

    ob_start();

    include($legacyFile);

    $content = ob_get_clean();

    return new Response($content);
}

おそらく単純化されていますが、アイデアを示す必要があります。

于 2012-09-11T17:51:07.747 に答える