Symfony2安装第三方Bundles插件的方法

作者:袖梨 2022-06-25

一、添加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文件里查看。

相关文章

精彩推荐