一个强大的全栈框架、可重用组件······

《开源精选》是我们分享 Github、Gitee 等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的 Symfony 是一个用于 Web 和控制台应用程序的 PHP 框架以及一组可重用的 PHP 组件。

一个强大的全栈框架、可重用组件······

Symfony 是一个用于 Web 和控制台应用程序的 PHP 框架以及一组可重用的PHP 组件。数以千计的网络应用程序和大多数流行的 PHP 项目都使用 Symfony 。

Symfony 框架

用于创建网站和 Web 应用程序的领先 PHP 框架,建立在 Symfony 组件之上。

Symfony 组件

一组解耦和可重用的组件,构建最好的 PHP 应用程序,例如 Drupal、Prestashop 和 Laravel。

Symfony 社区

一个由来自 120 多个国家的超过 600,000 名开发人员组成的充满激情的团队,他们都致力于帮助 PHP 超越不可能。

Symfony 基础架构图

一个强大的全栈框架、可重用组件······

使用框架的一大好处是开发此类项目所需的代码量很少:

  • • 20个用于网站的 PHP 类 src/;

  • • PHPLOC 报告的 550 个 PHP 逻辑代码行 (LLOC) ;

  • • 3 个文件(通过属性和 YAML)中的 40 行配置调整,主要用于配置后端设计;

  • • 20行开发基础设施配置(Docker);

  • • 100行生产基础设施配置(Platform.sh);

  • • 5个显式环境变量。

安装和设置 Symfony 框架

技术要求

安装 PHP 8.0.2 或更高版本以及这些 PHP 扩展(在大多数 PHP 8 安装中默认安装和启用):Ctype、iconv、 PCRE、Session、SimpleXML和Tokenizer;

安装 Composer,用于安装 PHP 包。

或者,您也可以安装 Symfony CLI。这将创建一个名为的二进制文件 symfony,它提供了在本地开发和运行 Symfony 应用程序所需的所有工具。

该symfony二进制文件还提供了一个工具来检查您的计算机是否满足所有要求。打开您的控制台终端并运行以下命令:

symfony check:requirements

创建 Symfony 应用程序

打开你的控制台终端并运行这些命令来创建一个新的 Symfony 应用程序:

symfony new my_project_directory --webapp
symfony new my_project_directory

这两个命令之间的唯一区别是默认安装的软件包数量。该–webapp选项会安装您构建 Web 应用程序通常需要的所有包,因此安装大小会更大。

如果您不使用 Symfony 二进制文件,请运行以下命令以使用 Composer 创建新的 Symfony 应用程序:

composer create-project symfony/skeleton my_project_directory
cd my_project_directory
composer require webapp
composer create-project symfony/skeleton my_project_directory

无论您运行哪个命令来创建 Symfony 应用程序。他们都将创建一个新my_project_directory/目录,将一些依赖项下载到其中,甚至生成您需要开始的基本目录和文件。

建立一个现有的 Symfony 项目

除了创建新的 Symfony 项目之外,您还将处理其他开发人员已经创建的项目。在这种情况下,您只需要获取项目代码并使用 Composer 安装依赖项即可。假设您的团队使用 Git,请使用以下命令设置您的项目:

cd projects/
git clone ...

cd my-project/
composer install

您可能还需要自定义您的.env 文件 并执行一些其他特定于项目的任务(例如创建数据库)。当第一次使用现有的 Symfony 应用程序时,运行这个显示项目信息的命令可能会很有用:

php bin/console about

运行 Symfony 应用程序

在生产环境中,您应该安装一个像 Nginx 或 Apache 这样的 Web 服务器并将 其配置为运行 Symfony。如果您不使用 Symfony 本地 Web 服务器进行开发,也可以使用此方法。

然而,对于本地开发,运行 Symfony 最方便的方式是使用二进制文件提供 的本地 Web 服务器。symfony该本地服务器提供对 HTTP/2、并发请求、TLS/SSL 和自动生成安全证书的支持。

打开您的控制台终端,进入您的新项目目录并启动本地 Web 服务器,如下所示:

cd my-project/
symfony server:start

打开浏览器并导航到http://localhost:8000/。如果一切正常,您将看到一个欢迎页面。Ctrl+C稍后,当您完成工作时,通过从终端按来停止服务器。

配置文件

Symfony 应用程序使用存储在config/ 目录中的文件进行配置,该目录具有以下默认结构:

your-project/
├─ config/
│  ├─ packages/
│  ├─ bundles.php
│  ├─ routes.yaml
│  └─ services.yaml
├─ ...

该 routes.yaml 文件定义了路由配置;该 services.yaml 文件配置服务容器的服务;该 bundles.php 文件启用/禁用应用程序中的包。

您将主要在 config/packages/目录中工作。此目录存储应用程序中安装的每个包的配置。包(在 Symfony 中也称为“捆绑包”,在其他项目中称为“插件/模块”)为您的项目添加了现成的功能。

当使用 Symfony 应用程序中默认启用的 Symfony Flex 时,包会在安装过程中自动更新 bundles.php 文件并创建新文件。config/packages/例如,这是“API Platform”包创建的默认文件:

# config/packages/api_platform.yaml
api_platform:
    mapping:
        paths: ['%kernel.project_dir%/src/Entity']

将配置拆分成许多小文件对于一些 Symfony 新手来说是令人生畏的。但是,您会很快习惯它们,并且在安装包后您很少需要更改这些文件。

Symfony 部署基础

部署 Symfony 应用程序时采取的典型步骤包括:

  • • 将您的代码上传到生产服务器;

  • • 安装您的供应商依赖项(通常通过 Composer 完成,可能在上传之前完成);

  • • 运行数据库迁移或类似任务以更新任何更改的数据结构;

  • • 清除(可选地,预热)你的缓存。

部署还可能包括其他任务,例如:

  • • 将代码的特定版本标记为源代码控制存储库中的发布;

  • • 创建临时暂存区以“离线”构建更新的设置;

  • • 运行任何可用的测试以确保代码和/或服务器稳定性;

  • • 从目录中删除任何不必要的文件public/以保持生产环境清洁;

  • • 清除外部缓存系统(如Memcached或Redis)。


传送门

开源协议:MIT License

开源地址:https://github.com/symfony/symfony

-END-


原文始发于微信公众号(开源技术专栏):一个强大的全栈框架、可重用组件······

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/120633.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!