假设您已经安装了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已经被删除了。