移植传统应用程序到Symfony2:如何在控制器中执行原生PHP脚本?

4
我有一个遗留应用程序希望迁移到Symfony2。该应用程序没有MVC结构,也不兼容PSR-0,它非常遗留,因为'/search.php'指向文件'search.php',而菜单、标题和页脚是包含不同文件共享的。
如果我能够以一种快速且不完美的方式将此应用程序插入Symfony2中,然后逐个将其移动到Symfony2应用程序架构中,那将是理想的。我真的不想尝试将整个内容移植过去,然后在3-6个月内进行大规模更新。有人可以推荐一种执行本地php脚本的方法,该脚本将包含诸如mysql查询等内容在Symfony2控制器中,或者其他最佳方法吗?我目前正在考虑在php或twig模板中包含文件。谢谢!
1个回答

5
考虑在服务器层面上进行操作。你的 Web 服务器应该能够将部分 URL 路由到新网站,将其余部分路由到旧版本网站(至少 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);
}

这可能过于简单,但应该能够展示这个想法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接