barth / simple-config-bundle
在视图中公开包配置
Requires
- symfony/config: ^3.4|^4.0
- symfony/dependency-injection: ^3.4|^4.0
- symfony/filesystem: ^3.4|^4.0
- symfony/finder: ^3.4|^4.0
- symfony/form: ^3.4|^4.0
- symfony/framework-bundle: ^3.4|^4.0
- symfony/http-kernel: ^3.4|^4.0
- symfony/yaml: ^3.4|^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.12
- phpmd/phpmd: ^2.6
- symfony/var-dumper: ^4.1
Suggests
- easycorp/easyadmin-bundle: Embed Config forms directly in EasyAdminBundle
This package is auto-updated.
Last update: 2024-09-17 09:48:47 UTC
README
此包提供通过覆盖配置文件来配置其他包的UI。
这应该用于允许应用程序管理员轻松更改一些简单配置。参考此文档示例,他们可以更改Twitter客户端ID和Twitter客户端密钥。
背后的机制是检索一个包的所有可用配置,以表单的形式显示它,并将提交的数据存入一个新的配置文件中,该文件将覆盖默认配置。
安装
步骤1:下载包
打开命令行,进入项目目录并执行
$ composer require barth/simple-config-bundle
此命令要求您全局安装Composer,如Composer文档的安装章节中所述。
步骤2:启用包
然后,通过将其添加到项目中config/bundle.php
文件中注册的包列表中,启用该包
<?php // config/bundles.php return [ // ... Barth\SimpleConfigBundle\BarthSimpleConfigBundle::class => ['all' => true], ];
步骤3:导入路由
在您的config/routes.yaml
中,添加以下路由定义
#config/routes.yaml barth_simpleconfig: resource: "@BarthSimpleConfigBundle/Controller/" type: annotation prefix: /admin
⚠️ 您应提供一个仅允许ROLE_ADMIN访问的prefix
。
可选步骤
您应该将config/packages/override
路径添加到您的gitignore中。如果您使用像Capistrano或Deployer这样的工具部署应用程序,请务必将其路径设置为共享,以避免每次部署之间丢失自定义覆盖。
黑名单包
默认情况下,所有随symfony/website-skeleton一起提供的包都处于黑名单状态。您不能轻松地覆盖它们。
您可以通过在配置中添加包别名来扩展此列表
#config/packages/barth_simple_config barth_simple_config: blacklisted_bundles: - nelmio_api_doc # for example
如何使用它
安装完成后,您将有两个新路由
- http://yourdomain.org/admin/config 该路由公开所有可用的配置路由
- http://yourdomain.org/admin/config/{package} 该路由显示您的表单配置
自定义和集成
自定义后端
默认情况下,页面看起来并不漂亮。要将其集成到模板中,请不要犹豫,通过在templates/bundles/BarthSimpleConfigBundle/
中创建一个新的base.html.twig
模板并使其扩展基本模板来覆盖base.html.twig
模板。
第三方包
SimpleConfigBundle可以轻松集成到EasyAdminBundle中。只需要求它。
贡献
首先,感谢您的贡献 ❤️
如果您发现任何错误/配置错误/...,请发送给我一个PR或打开一个问题。
此外,在创建您的PR时,请写一个描述,给出上下文和/或解释您为什么要创建它。
TODOs
- 使安装与
composer require barth/simple-config-bundle
一样简单,因此提交到packagist - 在表单提交时处理配置,以便立即进行验证。
- 编写测试套件
- 添加翻译
- 与EasyAdminBundle集成
- 与Sonata集成