我正在尝试从 Symfony2 开始,但在 Symfony 2“书”部分“在 Symfony 2 中创建页面”之后立即遇到了问题:
我这样做了:
创建了捆绑包
php app/console init:bundle "Acme\StudyBundle" src
*在 app/autoload.php 中添加命名空间 *
$loader->registerNamespaces(array(
'Acme' => __DIR__.'/../src',
));
初始化捆绑包
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Acme\StudyBundle\AcmeStudyBundle(),
);
// ...
return $bundles;
}
在 app/config.routing.yml 和 src/Acme/StudyBundle/Resources/config/routing.yml 中创建了路由
# app/config/routing.yml
homepage:
pattern: /
defaults: { _controller: FrameworkBundle:Default:index }
hello:
resource: "@AcmeStudyBundle/Resources/config/routing.yml"
# src/Acme/StudyBundle/Resources/config/routing.yml
hello:
pattern: /hello/{name}
defaults: { _controller: AcmeStudyBundle:Hello:index }
创建控制器
// src/Acme/StudyBundle/Controller/HelloController.php
namespace Acme\StudyBundle\Controller;
use Symfony\Component\HttpFoundation\Response;
class HelloController
{
public function indexAction($name)
{
return new Response('<html><body>Hello '.$name.'!</body></html>');
}
}
当我加载页面时:http://localhost/app_dev.php/hello/Ryan Symfony 给了我一个例外:
找不到控制器“AcmeStudyBundle:Hello” - 类“Acme\StudyBundle\Controller\HelloController”不存在。
我多次检查代码,但找不到任何错误。