composer.phar를 사용하여 Symfony 2.2.1 표준판을 설치 한 다음 app/console 유틸리티를 사용하여 "ClientBundle"을 생성했습니다.@ Route 지시문이 작동하지 않습니다 - 내가 뭘 잘못하고 있니?
@Route 주석을 사용하여 내 경로를 정의하려고합니다.
namespace ScrumBoard\ClientBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
/**
* @Route("/my/route/path")
*/
public function indexAction($name)
{
return $this->render('ScrumBoardClientBundle:Default:index.html.twig', array('name' => $name));
}
}
을 그리고 내 번들은 다음과 같이 정의된다 : 여기 내 컨트롤러입니다
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new JMS\AopBundle\JMSAopBundle(),
new JMS\DiExtraBundle\JMSDiExtraBundle($this),
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
new Acme\HelloBundle\AcmeHelloBundle(),
new ScrumBoard\ClientBundle\ScrumBoardClientBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
당신은 SensioFrameworkExtraBundle이 번들의 내 목록에 포함되어 있는지 확인할 수 있습니다. 내가 http://symfony2.localhost/app_dev.php/my/route/path에 갈 때
그러나, 나는
ERROR - Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /my/route/path"" at C:\webdev\scrum-whiteboard\symfony-quickstart\app\cache\dev\classes.php line 3609
내가 작업 @Route 주석을 얻는 방법 ... 분명히 내가 모르는 뭔가가있어, 그래서거야?
JFYI, http://symfony2.localhost/config.php으로 가면 Symfony2가 작동하는 것을 볼 수 있습니다. "새로운 Symfony 프로젝트에 오신 것을 환영합니다." 메시지가 표시되고 구성 오류가 표시되지 않습니다.
당신은 접두사 옵션을 제거해야합니다. 그 밖의 모든 것은 정확합니다. 주석을 사용하여 올바른 사용 문을 사용하여 주석을 가져와야합니다. 그리고 sf가 주석을 사용하고 있다는 것을 알기 위해서 디렉토리를 리소스로 포함하고 'annotations'를 –
타입으로 포함시켜야합니다. 접두사를 생략하는 것이 더 나은 이유는 무엇입니까? – Josh
글쎄, 나는 접두사를 원하지 않을 거라 생각했다. 필수 옵션이 아니므로 생략 할 수 있습니다. 그것이 내가 말하려고했던 것입니다. –