首页 > 后端开发 > php教程 > 来自 Symfony 的问候

来自 Symfony 的问候

Linda Hamilton
发布: 2025-01-03 06:13:43
原创
835 人浏览过

创建 Symfony 项目

让我们首先使用 Symfony CLI 创建一个全新的 Symfony 应用程序。打开终端并运行:

symfony new poc-symfony
登录后复制
登录后复制

这里的项目名称poc-symfony并不重要,你可以选择任何你想要的项目名称。

我在这里使用 Symfony CLI 创建一个新的 Symfony 应用程序。

如果您不想使用它,您可以使用著名的 Composer 工具作为创建应用程序的替代方案:

composer create-project symfony/skeleton poc-symfony 
登录后复制
登录后复制

阅读此文档以了解有关使用 Composer 创建 Symfony 应用程序的更多信息。

启动集成的 Symfony 服务器:

symfony serve -d
登录后复制

-d 选项用于在后台将服务器作为守护进程运行。要停止它,您可以运行:

symfony server:stop
登录后复制

如果您没有安装 Symfony CLI,您可以通过运行以下命令来使用内置 PHP Web 服务器:

php -S localhost:8000 -t public/
登录后复制

默认情况下,使用的端口是 8000。现在在您最喜欢的浏览器中打开给定 URL 的应用程序(默认为 https://localhost:8000)。

您的浏览器中现在有这样的内容:

Hello from Symfony

我们的目标:创建我们的第一个 Symfony 控制器并使用 Twig 渲染我们的第一个模板以显示来自 Symfony 的 Hello!?

首先,通过运行安装 twig 包:

composer require twig
登录后复制

感谢 Symfony Flex,我们还添加了一些文件到我们的项目中。

现在创建我们的第一个 PHP 文件,这将是我们的第一个 Symfony 控制器。我将创建一个名为 HomeController.php 的新文件(在 src/Controller 目录中,您可以将其命名为任何您想要的名称),其中包含以下内容:

<?php

declare(strict_types=1);

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;

final class HomeController extends AbstractController
{
    #[Route('/', name: 'home')]
    public function home(): Response
    {
        return $this->render('home/index.html.twig');
    }
}
登录后复制

这里没什么特别的,HomeController 正在扩展 Symfony AbstractController,并使用其中的 render 方法从 HTTPFoundation 组件返回响应。

我们有一条与 / 模式匹配的路线,名称为 home。关联的方法也被命名为 home,并返回一个 twig 模板。

树枝模板内容包含以下内容:

{% extends 'base.html.twig' %}

{% block body %}
    <h1>Hello from Symfony!?</h1>
{% endblock %}
登录后复制

我们只是扩展了base.html.twig 文件并自定义了body 块中的内容。
刷新您的页面,瞧?

Hello from Symfony

恭喜你,你成功了?

测试我们的应用程序

测试时间?️
是时候测试我们的应用程序了。

您不测试您的应用程序吗?你太优秀了,无法添加测试?

你的选择,但我更喜欢添加一些以确保一切按预期工作。

让我们通过运行添加一个新包进行测试:

composer require --dev symfony/test-pack
登录后复制

再次感谢 Symfony Flex,我们在默认配置下安装了更多文件。

现在创建一个 PHP 文件用于测试。我将此文件命名为 HomeControllerTest (在测试/控制器目录中):

symfony new poc-symfony
登录后复制
登录后复制

这个简单的测试可以帮助我们检查应用程序中的一切是否正常。

运行测试:

composer create-project symfony/skeleton poc-symfony 
登录后复制
登录后复制

Hello from Symfony

恭喜,测试通过,你棒极了?

以上是来自 Symfony 的问候的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板