【发布时间】:2014-07-28 02:03:49
【问题描述】:
我有一个控制器:
<?php
namespace Acme\HelloBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
//use Symfony\Component\HttpFoundation\Response;
class HelloController extends Controller
{
public function indexAction($name)
{
return new Response('<html><body>Hello '.$name.'!</body></html>');
}
}
当我运行驱动程序时返回错误
1/1 ClassNotFoundException:试图从 命名空间“Acme\HelloBundle\Controller”在 D:\symfony2\src\Acme\HelloBundle\Controller\HelloController.php 行 14. 你需要从另一个命名空间“使用”它吗?也许您需要为以下之一添加 use 语句: Symfony\Component\BrowserKit\Response, Symfony\Component\HttpFoundation\Response, Doctrine\CouchDB\HTTP\Response.
因为我可以加载“使用 Symfony\Component\HttpFoundation\Response;”我所有控制器的类,而无需将其包含在每个控制器中
请帮忙,自动加载 HttpFoundation\Response
谢谢
【问题讨论】:
-
你需要使用声明。就像 php 命名空间的工作方式一样。除非你想返回 new Symfony\Component\HttpFoundation\Response() 但这并不理想。