控制器
控制器是您创建的 PHP 函数,它从 Request 对象中读取信息并创建并返回 Response 对象。响应可以是 HTML 页面、JSON、XML、文件下载、重定向、404 错误或其他任何内容。控制器运行应用程序呈现页面内容所需的任意逻辑。
基础控制器
虽然控制器可以是任何 PHP 可调用的(函数、对象上的方法或 Closure),但控制器通常是控制器类中的一个方法:
// src/Controller/LuckyController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class LuckyController
{
#[Route('/lucky/number/{max}', name: 'app_lucky_number')]
public function number(int $max): Response
{
$number = random_int(0, $max);
return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}
控制器是 number() 方法,它位于控制器类 LuckyController 中。
这个控制器非常简单:
- 第 2 行:Symfony 利用 PHP 的命名空间功能来命名空间整个控制器类。
- 第 4 行:Symfony 再次利用了 PHP 的命名空间功能:use 关键字导入了控制器必须返回的 Response 类。