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