欢迎大家来到IT世界,在知识的湖畔探索吧!
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的Symfony是一个用于 Web 和控制台应用程序的PHP 框架以及一组可重用的PHP 组件。
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
欢迎大家来到IT世界,在知识的湖畔探索吧!
创建 Symfony 应用程序
打开你的控制台终端并运行这些命令来创建一个新的 Symfony 应用程序:
欢迎大家来到IT世界,在知识的湖畔探索吧!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,请使用以下命令设置您的项目:
欢迎大家来到IT世界,在知识的湖畔探索吧!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)。
—END—
开源协议:MIT License
开源地址:https://github.com/symfony/symfony
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/74228.html