一、添加composer依赖关系
在symfony里,用composer来管理依赖关系
1.找到Bundle的包的名称
在包的README里一般都告诉了我们它的名称,如果没有,可以在ps://packagist.org">https://packagist.org网站里搜索到
2.通过composer来安装Bundle
知道了bundle的包名之后,我们可以通过composer来安装它
$ composer require codeguy/upload
codeguy/upload是一个上传文件的bundle,在上一章Symfony2使用第三方库Upload制作图片上传【原创】中我们使用到。
执行上面的指令,composer会给你的项目选择一个最好版本的bundle,把它添加到composer.json中,并将bundle下载到vendor/目录下。如果你想要下载一个指定的版本,在bundle的包名后增加:版本号
二、注册Bundle
现在,第三方的bundle已经安装到你的symfony项目中了,在vendor/目录下。此时我们需要在app/AppKernel.php里注册安装好的bundle
例如DoctrineFixturesBundle:
代码如下 |
复制代码 |
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
//...在这里注册
new DoctrineBundleFixturesBundleDoctrineFixturesBundle(),
);
}
//...
}
|
三、配置Bundle
有的包需要一些额外的配置在 app/config/config.yml文件里。包的文档会告诉我们关于怎样配置,也可以通过指令来参考包的配置
$ app/console config:dump-reference
例如TwigBundle:
$ app/console config:dump-reference TwigBundle
会得到如下的提示
代码如下 |
复制代码 |
# Default configuration for "TwigBundle"
twig:
exception_controller: 'twig.controller.exception:showAction'
# Deprecated since 2.6, to be removed in 3.0. Use twig.form_themes instead
form:
resources:
# Default:
- form_div_layout.html.twig
# Example:
- MyBundle::form.html.twig
form_themes:
# Default:
- form_div_layout.html.twig
# Example:
- MyBundle::form.html.twig
globals:
# Examples:
foo: "@bar"
pi: 3.14
# Prototype
key:
id: ~
type: ~
value: ~
autoescape:
# Defaults:
- SymfonyBundleTwigBundleTwigDefaultEscapingStrategy
- guess
autoescape_service: null
autoescape_service_method: null
base_template_class: ~ # Example: Twig_Template
cache: '%kernel.cache_dir%/twig'
charset: '%kernel.charset%'
debug: '%kernel.debug%'
strict_variables: ~
auto_reload: ~
optimizations: ~
paths:
# Prototype
paths:
|
~
具体的第三方bundle安装方法,和该bundle的使用方法都可以在它的README文件里查看。