2017-11-26 21 views
0

Silex 1.2 및 Twig 1.0을 사용하고 있습니다.나뭇 가지 생성 url/라우팅 오류/기능 알 수 없음

저는 Twig로 URL을 생성하려고합니다. 내 boostrap.php에 추가이 게시물 (Silex - Twig_Error_Syntax: The function "path" does not exist)에 같은Unknown "path" function.

그래서

Twig_Error_Syntax :

<a href="{{ path('signUp') }}">Sign Up</a>

그러나 나는이 오류가 발생합니다.

$app->register(new UrlGeneratorServiceProvider()); 
$app['twig']->addFunction(new \Twig_SimpleFunction('path', function($url) use ($app) { 
    return $app['url_generator']->generate($url); 
})); 

그러나 나는이 오류를 얻을 :

RouteNotFoundException

<?php 

$routes = $app['controllers_factory']; 

$routes->get('/', function() use ($app){ 
    return $app['twig']->render('home.html.twig'); 
}); 

$routes->get('/signUp', function() use ($app){ 
    return $app['twig']->render('signUp.html.twig'); 
}); 

$routes->get('/signIn', function() use ($app) { 
    return $app['twig']->render('signIn.html.twig'); 
}); 

return $routes; 

당신이 날 도와 줄 수Unable to generate a URL for the named route "signUp" as such route does not exist.

라우팅 파일을?

감사합니다.

+0

경로 이름을 알려주지 않았습니다. bind() 메소드에 대해서는 [examples] (https://silex.symfony.com/doc/1.3/providers/url_generator.html)를 참조하십시오. – ccKep

+0

정말로 감사합니다. –

답변

0

경로 /signUp은 경로에 입력 한 경로 이름과 다릅니다. 당신은 을 다음과 같이 사용하여 named route을 사용하고 싶을 것입니다 :

$routes->get('/signUp', function() use ($app){ 
    return $app['twig']->render('signUp.html.twig'); 
})->bind('signUp'); 
+0

네, 그게 문제였습니다. 감사 ! –