Symfony2实现在doctrine中内置数据的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-09 11:12:40 浏览: 评论:0
这篇文章主要介绍了Symfony2实现在doctrine中内置数据的方法,结合实例形式分析了在doctrine中内置数据的具体步骤与相关技巧,需要的朋友可以参考下。
本文实例讲述了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
Tags: Symfony2 doctrine
- 上一篇:twig模板获取全局变量的方法
- 下一篇:Symfony2开发之控制器用法实例分析
相关文章
- ·高性能PHP框架Symfony2经典入门教程(2021-03-17)
- ·Symfony2 session用法实例分析(2021-07-09)
- ·Symfony2安装第三方Bundles实例详解(2021-07-09)
- ·Symfony2开发之控制器用法实例分析(2021-07-09)
- ·Symfony2中被遗弃的getRequest()方法分析(2021-07-14)
- ·Symfony2学习笔记之模板用法详解(2021-07-15)
- ·Symfony2学习笔记之控制器用法详解(2021-07-15)
- ·Symfony2学习笔记之系统路由详解(2021-07-15)
- ·Symfony2框架学习笔记之HTTP Cache用法详解(2021-07-17)
- ·Symfony2框架学习笔记之表单用法详解(2021-07-18)
- ·Symfony2实现在controller中获取url的方法(2021-07-18)
- ·Symfony2实现从数据库获取数据的方法小结(2021-07-18)
- ·Symfony2之session与cookie用法小结(2021-07-18)
- ·symfony2.4的twig中date用法分析(2021-07-18)
- ·Symfony2创建页面实例详解(2021-07-18)
- ·Symfony2使用Doctrine进行数据库查询方法实例总结(2021-07-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)