Hello World - 控制器与路由

知识库
知识库文档
/tech-stacks/symfony/examples/Hello World - 控制器与路由.md

文档

Hello World:Symfony 控制器与路由

目标

创建 Symfony 最小 API 端点,展示路由注解、控制器和 JSON 响应。

完整代码

1. 创建控制器

php bin/console make:controller HelloController

2. 编辑 src/Controller/HelloController.php

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;

class HelloController extends AbstractController
{
    #[Route('/api/hello', name: 'hello_index', methods: ['GET'])]
    public function index(): JsonResponse
    {
        return $this->json([
            'message' => 'Hello, Vibe!',
            'framework' => 'Symfony',
            'php_version' => PHP_VERSION,
            'timestamp' => (new \DateTimeImmutable())->format(\DateTimeInterface::ATOM),
        ]);
    }

    #[Route('/api/hello/{name}', name: 'hello_greet', methods: ['GET'])]
    public function greet(string $name): JsonResponse
    {
        return $this->json([
            'message' => "Hello, {$name}!",
            'powered_by' => 'Symfony',
        ]);
    }
}

运行步骤

symfony serve -d
# 或 php -S localhost:8000 -t public/

预期输出

curl http://localhost:8000/api/hello
# {"message":"Hello, Vibe!","framework":"Symfony","php_version":"8.3.0","timestamp":"2024-01-01T00:00:00+00:00"}

curl http://localhost:8000/api/hello/World
# {"message":"Hello, World!","powered_by":"Symfony"}

信息

路径
/tech-stacks/symfony/examples/Hello World - 控制器与路由.md
更新时间
2026/5/31