支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
大多数Bundle都提供自己的安装说明。然而,安装bundle的基本步骤都是相同的:
Composer管理依赖,所以如果Composer对于你来说是一个新的概念,可以在他们的文档中学习一些基本知识。添加Composer涉及两个步骤:
Bundle(如,FOSUserBundle)的README(自述文件)通常会告诉你它的名字(如,friendsofsymfony/user-bundle
)。 如果它们没有,你可以在Packagist.org网站中查询这个bundle。
如何寻找Bundle?尝试在 KnpBundles.com 搜索:这些都是非官方的Symfony Bundles归档。
现在你知道了包的名称,你可以通过Composer来安装它:
1 | $ composer require friendsofsymfony/user-bundle |
这将为您的项目选择最好的版本,把它添加到composer.json
并下载它的代码到vendor/
目录。如果你需要一个指定的版本,可以它作为composer require命令的第二个参数:
1 | $ composer require friendsofsymfony/user-bundle "~2.0" |
此时,Bundle已经被安装到了symfony项目中(在vendor/friendsofsymfony/
中)并且自动识别出了它的类。现在你需要做的唯一一件事就是在 AppKernel
中注册 bundle:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // app/AppKernel.php
// ...
class AppKernel extends Kernel
{
// ...
public function registerBundles()
{
$bundles = array(
// ...
new FOS\UserBundle\FOSUserBundle(),
);
// ...
}
} |
在一些罕见的情况下,你可能想要一个Bundle只在开发环境中启用。例如,DoctrineFixturesBundle 有助于假数据的加载 - 这些事你可能只想在开发环境中去做。只在dev
和test
环境中加载这个bundle,就需要以这种方式注册Bundle:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
对于Bundle来说需要一些额外的设置或者在app/config/config.yml
中配置是很常见的事情。Bundle的文档会告诉你他们如何设置,但是你也可以通过 config:dump-reference
命令来获取一些 bundle 的设置指导:
1 | $ bin/console config:dump-reference AsseticBundle |
取代 bundle 的全名,你也可以把Bundle配置的根名称作为短名称传入:
1 | $ bin/console config:dump-reference assetic |
输出结果如下:
1 2 3 4 5 6 7 8 9 10 11 | assetic:
debug: '%kernel.debug%'
use_controller:
enabled: '%kernel.debug%'
profiler: false
read_from: '%kernel.root_dir%/../web'
write_to: '%assetic.read_from%'
java: /usr/bin/java
node: /usr/local/bin/node
node_paths: []
# ... |
此时,阅读你这个新 bundle 的 README
文件来看看下一步要做什么。祝你玩的开心!
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。