Symfony2实现在doctrine中内置数据的方法


Posted in PHP onFebruary 05, 2016

本文实例讲述了Symfony2实现在doctrine中内置数据的方法。分享给大家供大家参考,具体如下:

我们在使用symfony的时候,有时需要在数据库中内置一些数据,那么我们如何在doctrine中设置呢?

所幸,symfony已经为我们封装好了。这里,我们需要用到DoctrineFixturesBundle。

第一步,在composer.json中引入所需的DoctrineFixturesBundle:

{
  "require": {
    "doctrine/doctrine-fixtures-bundle": "2.2.*"
  }
}

第二步,执行composer:

composer update doctrine/doctrine-fixtures-bundle

第三步,在内核(app/AppKernel.php)中注册此bundle:

// ...
public function registerBundles()
{
  $bundles = array(
    // ...
    new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(),
    // ...
  );
  // ...
}

第四步,在需要内置数据的bundle下创建一个PHP类文件,如src/Acme/HelloBundle/DataFixtures/ORM/LoadUserData.php,其代码如下:

// src/Acme/HelloBundle/DataFixtures/ORM/LoadUserData.php
namespace Acme\HelloBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use Acme\HelloBundle\Entity\User;
class LoadUserData implements FixtureInterface
{
  /**
   * {@inheritDoc}
   */
  public function load(ObjectManager $manager)
  {
    $userAdmin = new User();
    $userAdmin->setUsername('admin');
    $userAdmin->setPassword('test');
    $manager->persist($userAdmin);
    $manager->flush();
  }
}

第五步,通过console执行内置数据命令:

php app/console doctrine:fixtures:load #为防止数据库中原先的值被清除,可使用 --append 参数

此命令有以下三个参数:

?fixtures=/path/to/fixture ? Use this option to manually specify the directory where the fixtures classes should be loaded;
?append ? Use this flag to append data instead of deleting data before loading it (deleting first is the default behavior);
?em=manager_name ? Manually specify the entity manager to use for loading the data.

官方文档:http://symfony.com/doc/current/bundles/DoctrineFixturesBundle/index.html

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

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

PHP 相关文章推荐
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
php实现监控varnish缓存服务器的状态
Dec 30 PHP
php动态生成版权所有信息的方法
Mar 24 PHP
详解PHP中的null合并运算符
Dec 30 PHP
PHP创建word文档的方法(平台无关)
Mar 29 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 PHP
php获取linux命令结果的实例
Mar 13 PHP
PHP的简单跳转提示的实现详解
Mar 14 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 #PHP
twig模板获取全局变量的方法
Feb 05 #PHP
twig里使用js变量的方法
Feb 05 #PHP
Symfony2安装第三方Bundles实例详解
Feb 04 #PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 #PHP
Symfony2在Nginx下的配置方法图文教程
Feb 04 #PHP
Symfony2安装的方法(2种方法)
Feb 04 #PHP
You might like
PHP 输出简单动态WAP页面
2009/06/09 PHP
用Zend Encode编写开发PHP程序
2010/02/21 PHP
php构造函数实例讲解
2013/11/13 PHP
php实现网站文件批量压缩下载功能
2015/10/28 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
浅谈JS继承_寄生式继承 & 寄生组合式继承
2016/08/16 Javascript
javascript基础知识讲解
2017/01/11 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
python实现超级玛丽游戏
2020/03/18 Python
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
酒店管理自荐信
2013/10/23 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
暑期社会实践证明书
2014/11/17 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS