捆绑系统

5.3版本
ob娱乐下载symfony 5.3支持经过乔利德

捆绑系统

警告

在4.ob娱乐下载0之前的Symfony版本中,建议使用捆绑包组织您自己的应用程序代码。这不再推荐,并且捆绑包应仅用于在多个应用程序之间共享代码和功能。

捆绑包类似于其他软件中的插件,但更好。Symfony框架的核心功能是用捆绑包(Fob娱乐下载rameworkBundle,SecurityBundle,DebugBundle等)实现它们,它们也用于在应用程序中添加新功能第三方捆绑

必须每次启用应用程序中使用的捆绑包环境在里面配置/ bundles.php.文件:

// config / bundles.php返回[//'全部'表示捆绑包已启用任何Symfony环境ob娱乐下载ob娱乐下载symfony \ bundle \ frameworkbundle \ frameworkbundle::班级=>['全部'=>真的],ob娱乐下载symfony \ bundle \ securityBundle \ SecurityBundle::班级=>['全部'=>真的],ob娱乐下载symfony \ bundle \ twigbundle \ twigbundle::班级=>['全部'=>真的],ob娱乐下载symfony \ bundle \ monologbundle \ monologbundle::班级=>['全部'=>真的],ob娱乐下载symfony \ bundle \ swiftmailerbundle \ swiftmailerbundle::班级=>['全部'=>真的],教义\ bundle \ doctrinebundle \ doctrinebundle::班级=>['全部'=>真的],sensio \ bundle \ frameworkextrabundle \ sensioframeworkextrabundle::班级=>['全部'=>真的],//只有在'dev'和'test'中仅启用此包,因此您无法在'prod'中使用它ob娱乐下载symfony \ bundle \ webprofilerbundle \ webprofilerbundle::班级=>['dev'=>真的'测试'=>真的],];

小费

在使用的默认symfonyob娱乐下载应用程序中ob娱乐下载Symfony Flex.如果安装/删除它们时,捆绑包会自动启用/禁用,因此您不需要查看或编辑此bundles.php.文件。

创建捆绑包

本节创建并启用新捆绑包以显示只需要几步。新捆绑包被称为AcmetestBundle,其中acme.部分是一个例子名称,应该由代表您或您的组织的一些“供应商”名称(例如,某些公司名称的AbctestBundle替换ABC)。

首先创建一个src / acme / testbundle /目录并添加一个名为新文件AcmetestBundle.php.

// src / acme / testbundle / acmetestbundle.php命名空间app \ acme \ testbundle;ob娱乐下载symfony \ component \ httpkernel \ bundle \ bundle;班级AcmetestBundle.延伸{}

小费

AcmetestBundle的名称遵循标准捆绑命名约定。您也可以选择缩短捆绑包的名称,以便通过命名此类TestBundle来测试(并命名文件testbundle.php.)。

这个空类是您唯一需要创建新捆绑包的部分。虽然通常是空的,但这个类是强大的,可用于自定义捆绑的行为。既然您已创建捆绑包,请启用:

// config / bundles.php返回[// ......app \ acme \ testbundle \ acmetestbundle::班级=>['全部'=>真的],];

虽然它还没有做任何事情,但AcmetestBundle现在可以使用。

捆绑目录结构

捆绑程序的目录结构旨在帮助保留所有Symfony捆绑包之间的代码。ob娱乐下载它遵循一组约定,但如果需要调整灵活性:

控制器/
包含捆绑的控制器(例如randomcontroller.php.)。
依赖性倾注/
保持某些依赖项注入扩展类,可以导入服务配置,寄存器编译器通过或更多(此目录不是必需的)。
资源/配置/
房屋配置,包括路由配置(例如routing.yaml.)。
资源/意见/
持有由控制器名称组织的模板(例如随机/ index.html.twig.)。
资源/公众/
包含Web资产(图像,样式表等),并将其复制或符号链接到项目中上市/通过这件目录资产:安装控制台命令。
测试/
持有捆绑的所有测试。

捆绑可以像它实现的功能一样小或大。它只包含您需要的文件,也不是别的。

在通过指南移动时,您将了解如何将对象持久到数据库,创建和验证表单,为应用程序创建翻译,写入测试等等。这些中的每一个都有自己的位置和在捆绑中的角色。

这项工作包括代码样本,是在a下获得的许可Creative Commons by-SA 3.0执照。