Symfony2安装第三方Bundles实例详解

时间:2021-10-16 19:28:56

本文实例讲述了Symfony2安装第三方Bundles的方法。分享给大家供大家参考,具体如下:

大多数的Bundles都提了安装的介绍,下面来介绍基本的安装步骤:

一、添加composer依赖关系

在symfony里,用composer来管理依赖关系

1.找到Bundle的包的名称

在包的README里一般都告诉了我们它的名称,如果没有,可以在https://packagist.org网站里搜索到

2.通过composer来安装Bundle

知道了bundle的包名之后,我们可以通过composer来安装它

?
1
$ 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:

?
1
2
3
4
5
6
7
8
9
10
11
class AppKernel extends Kernel
{
  public function registerBundles()
  {
    $bundles = array(
      //...在这里注册
      new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(),
    );
  }
  //...
}

三、配置Bundle

有的包需要一些额外的配置在 app/config/config.yml文件里。包的文档会告诉我们关于怎样配置,也可以通过指令来参考包的配置

?
1
$ app/console config:dump-reference

例如TwigBundle:

?
1
$ app/console config:dump-reference TwigBundle

会得到如下的提示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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:
    - Symfony\Bundle\TwigBundle\TwigDefaultEscapingStrategy
    - 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文件里查看。

本文永久地址:http://blog.it985.com/7059.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。

希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。