마이그레이션 할 상당히 큰 Symfony 1.2 프로젝트가 있습니다. 나는 2Symfony 1.2 to 2.3 마이그레이션
것은 내가 마이그레이션이 부드럽게 만들기 위해 할 싶습니다 무엇 심포니에 의해 처리 일부 페이지를 가질 수 있도록
첫째, 내 htaccess로 수정/일부 SF2 조치를 렌더링 할 수있다 템플릿/메소드/... SF1 내부.
SF1 앱에 오토로더를 추가 했으므로 나뭇 가지 렌더링 방법 및 기타 기능에 액세스 할 수 있습니다.
하지만 어떻게 SF2 액션을 호출 할 수 있습니까?
예를 들어, 바닥 글 만 먼저 마이그레이션하려는 경우 렌더링뿐만 아니라 일부 PHP 메소드가 필요할 것입니다. 그것은 SF1 구성 요소에 이전에 있었지만 지금은 어디에 있어야합니까?
마이그레이션 방법에 대한 제안 사항이 있으시면 언제든지 알려주십시오.
편집 1 :
분명히, 그런 일을 할 수있는 유일한 방법은 전체 나뭇 가지 템플릿을 렌더링하는 것입니다 및/또는이 템플릿에 render(url, params)
와 다른 부분 나뭇 가지 템플릿을 호출합니다.
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;
}
그래서 : 2
$twig->loadTemplate('header.html.twig');
편집 : 보이지 않는다
작동하려면 여기
내 SF1 코드가 나뭇 가지 템플릿을 렌더링 할 수있다 , 나뭇 가지에 템플릿이있는 경우{{render(controller('BUNDLE:CONTROLER:ACTION', {})) }}
(예 :
Twig_Error : The function "controller" does not exist
)으로 렌더링하려고합니다. 그리고 URL을 렌더링하려고하면
Unknown tag name "render"
.
Symfony 2 나뭇 가지 기능이로드되지 않은 것 같습니다. 어떻게해야합니까?
편집 3 :
좋아, 지금
Twig_Error_Runtime 예외가의 렌더링 동안 발생되었습니다 ... 나는 그것을 할 수 있지만 다음과 같은 메시지가 있어요 템플릿 (마스터 요청을 처리 할 때에 만 단편 렌더링이 가능합니다.) ...
심포니 1에서 2로 옮길 경우, 많은 사람들이 생각하기에 완전한 코드 재 작성이 필요합니다. –
SF1에서 일부 SF2 템플릿을 렌더링 할 수 있기를 바랍니다. 그러면 쉽게 마이그레이션 할 수 있습니다. // EDIT : 짧게하기 위해 SF1에서 SF2를 부트 스트랩하려고 했으므로 전체 모듈을 하나씩 다시 쓰고 (.htacess 디스 패칭) SF1에서 일부를 렌더링합니다 (예 : SF1에서 SF2 메뉴 렌더링).). – Bonswouar