Symfony 1.2到2.3迁移

Symfony 1.2到2.3迁移,symfony,symfony1,migration,Symfony,Symfony1,Migration,我有一个相当大的Symfony 1.2项目要迁移 首先,我修改了.htaccess,这样我就可以让Symfony 2处理一些页面 为了使迁移更平滑,我想做的是能够呈现一些SF2操作/模板/方法/。。。SF1内部 我将自动加载器添加到SF1应用程序中,因此我可以访问细枝渲染方法和其他内容 但我怎么能称之为SF2行动 例如,如果我想首先只迁移页脚,我还需要一些php方法,而不仅仅是渲染。以前在SF1组件中是这样的,现在应该放在哪里? 如果您对迁移方式有任何建议,请不要犹豫 编辑1: 显然,这样做的唯

我有一个相当大的Symfony 1.2项目要迁移

首先,我修改了.htaccess,这样我就可以让Symfony 2处理一些页面

为了使迁移更平滑,我想做的是能够呈现一些SF2操作/模板/方法/。。。SF1内部

我将自动加载器添加到SF1应用程序中,因此我可以访问细枝渲染方法和其他内容

但我怎么能称之为SF2行动

例如,如果我想首先只迁移页脚,我还需要一些php方法,而不仅仅是渲染。以前在SF1组件中是这样的,现在应该放在哪里?

如果您对迁移方式有任何建议,请不要犹豫

编辑1:

显然,这样做的唯一方法是呈现完整的细枝模板,和/或在此模板中使用
render(url,params)
调用其他部分细枝模板

以下是我的SF1代码,可以呈现细枝模板:

public static function getTwig()
{

    require_once __DIR__.'SF2_PATH/vendor/twig/extensions/lib/Twig/Extensions/Autoloader.php';
    Twig_Autoloader::register();
    $loader = new Twig_Loader_Filesystem( __DIR__.'SF2_PATH/sf2/src/VENDOR/BUNDLE/');
    $twig = new Twig_Environment($loader, array(
        'cache' => __DIR__.'SF2_PATH/sf2/app/cache/dev/twig',
    ));
    return $twig;
}
因此:

$twig->loadTemplate('header.html.twig');
编辑2:

这似乎不起作用,如果在细枝模板中,我尝试使用
{render(controller('BUNDLE:controller:ACTION',{}))}
呈现另一个细枝模板,例如
twig\u错误:函数“controller”不存在
。如果我试图呈现url
未知标记名“render”

我想Symfony 2 twig功能没有加载,我该怎么做?

编辑3:

好的,现在我可以做了,但我有以下信息

Twig_Error_运行时渲染期间引发异常 模板的“呈现片段”只能在处理 主请求。”)在

编辑:我解决了

下面是我的完整引导方法,可以呈现树枝模板,并能够使用Symfony 1中的一些Symfony 2功能

    $loader = require_once __DIR__.'/../../../sf2/app/bootstrap.php.cache';
    Debug::enable();
    require_once __DIR__.'/../../../sf2/app/AppKernel.php';

    $kernel = new AppKernel('dev', true);
    $kernel->loadClassCache();
    Request::enableHttpMethodParameterOverride();
    $request = Request::createFromGlobals();
    $kernel->boot();
    $kernel->getContainer()->enterScope('request');
    $kernel->getContainer()->set('request', new \Symfony\Component\HttpFoundation\Request(), 'request');
    $this->container = $kernel->getContainer()->get('twig');

对于从symfony 1迁移到symfony 2,有必要进行完整的代码重写,因为许多人认为这已经改变了。我知道,我只希望能够在SF1中呈现一些SF2模板,这样迁移会更容易。//编辑:简而言之,我正在尝试在SF1中引导SF2,这样我可以一个接一个地重写完整的模块(.htacess dispatching),并在SF1中呈现一些模块(例如在SF1中呈现SF2菜单)。您应该删除答案并将这些信息附加到问题中。