从使用SonataAdminBundle看Composer的基本用法

阅读更多
SonataAdminBundle是一个Symfony2的CRUD包,适合后台管理应用 https://github.com/sonata-project/SonataAdminBundle

假设您已经安装了Symfony2.3.1并且安装了composer.phar,那么请进入symfony2解压缩目录,该目录下可以看到composer.json,现在跟随官方的安装文档进行安装SonataAdminModule.
php composer.phar require sonata-project/admin-bundle --no-update
php composer.phar require sonata-project/doctrine-orm-admin-bundle --no-update  # optional
php composer.phar require sonata-project/intl-bundle --no-update                # optional
php composer.phar require sonata-project/cache-bundle --no-update               # optional
php composer.phar update


命令php composer.phar require sonata-project/admin-bundle --no-update的含义是将你指定要下载的sonataadminmodule的条目及版本说明写入到composer.json文件。输入该命令后,系统将要求你输入该包的版本号,所以你得去getcomposer.org搜索该包提供了哪些版本号,然后填入此处。

中间几个optional我就不说明了,因为是可选的。不过一般来说,你的项目大多基于数据库的对吧,那总是要安装 sonata-project/doctrine-orm-admin-bundle.

一旦require子命令说明完毕,就可以运行php composer.phar update真正下载要安装的包,实际上该命令是通过composer.json来决定要下载什么包的什么版本,其依赖包将自动下载。下面是我机器上的执行结果
Updating dependencies (including require-dev)
  - Installing sonata-project/block-bundle (2.2.4)
    Downloading: 100%         

  - Installing knplabs/knp-menu (v1.1.2)
    Downloading: 100%         

  - Installing knplabs/knp-menu-bundle (v1.1.2)
    Downloading: 100%         

  - Installing sonata-project/exporter (1.3.0)
    Downloading: 100%         

  - Installing sonata-project/jquery-bundle (1.8.3)
    Downloading: 100%         

  - Installing sonata-project/admin-bundle (dev-master fdf8b15)
    Cloning fdf8b15c9a464ad19a72ff739ec514994e17c95c


一旦下载完成,就需要手动加载这些包到AppKernerl.php文件
new Sonata\BlockBundle\SonataBlockBundle(),
new Sonata\jQueryBundle\SonatajQueryBundle(),
new Sonata\AdminBundle\SonataAdminBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
new Knp\Bundle\MenuBundle\KnpMenuBundle(),


关于SonataAdminBundle更多用法,请参考官方文档。

注:Symfony2.2升级到2.3之后,phpoption, jms两个包没有了,另外有些弃用函数请注意:Form::hasErrors(), FormBuilderInterface::addValidator已经被删除了。

你可能感兴趣的:(从使用SonataAdminBundle看Composer的基本用法)