1.doctrine2现在使用composer进行快捷的安装。在项目目录中增加一个composer.json文件,内容如下:

{"require" : {"doctrine/orm" : "*" // 或者"v2.5.*"}}

然后在命令行中运行 composer install 进行安装。composer安装请参考 composer 安装
2.安装完成后,可以在项目的入口文件中直接使用composer提供的自动加载类进行扩展包中类的自动加载。使用require_once “paht\vendor\autoload.php”。
3.要使用doctrine提供的ORM功能,首先必须先实例化一个实体管理器EntityManager。实例化代码如:

require_once "vendor/autoload.php";use Doctrine\ORM\Tools\Setup;use Doctrine\ORM\EntityManager;// 指定entity文件存放位置$paths = array("/path/to/entity-files");// 指定开发模式$isDevMode = false;// 设置数据库连接参数$dbParams = array('driver'   => 'pdo_mysql','user'     => 'root','password' => 'root','dbname'   => 'doctrine',);$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);$entityManager = EntityManager::create($dbParams, $config);

如果是开发模式为true时,缓存将使用文件数组进行缓存,关联对象将在每次的请求重新进行创建;如果开发模式是false时,将会自动按照APC,Xcache,Memcache,redis的顺序查找缓存数据,直到无法找到时,从数据库获取;代理类必须通过命令行进行显示的创建,如果代理类存放文件夹不存在时使用系统的临时目录。

4.doctrine 提供了很多有用的命令行工具,可以使用此命令进行调用 php vendor/bin/doctrine。要使用此这些命令,你可以在项目目录中创建一个cli-config.php文件,来让实例化好的实体管理器注册到命令工具中,文件内容如下:

use Doctrine\ORM\Tools\Console\ConsoleRunner;
// 项目入口文件,里面包含一个创建好的实体管理器
require_once 'index.php';
return ConsoleRunner::createHelperSet($entityManager);

映射

在doctrine中通过实体对象Entity 来进行数据的存取,文件中通过文档块注释来定义映射的元数据结构来指定数据如何进行存取。如以下的用户表例子:

/*** @Entity* @Table(name="users")
*/
class User
{/*** 声明此字段为主键字段,自增及使用int类型* @Id* @Column(type="integer")* @GeneratedValue*/private $id;/*** 用户名* @Column(type="string", length=36)*/private $username;/*** 密码(32位char类型)* @Column(type="string", columnDefinition="char(32) not null default '' ")*/private $password;/*** 手机号码(11位char类型,唯一索引)* @Column(type="string",  unique=true, columnDefinition="char(11) not null default '' ")*/private $mobile;/*** 性别* @Column(type="boolean")/*private $gender;/*** 出生日期* @Column(type="date")/*private $birthday;/*** 积分* @Column(type="integer")*/private $integral;/*** 最后登录时间(可用integer)* @Column(type="datetime")*/private $last_login;/*** 余额* @Column(type="decimal", precision=10, scale=2)*/private $balance;
}

name:指定映射的数据库列名称,不指定时默认使用属性名。
type:指定映射的数据库中列的类型。不指定时默认为string类型即对应mysql的varchar(255)。
length:指定列类型是string时的长度,如:length=32对应mysql的varchar(32),不指定时默认为255。
unique: 指定列添加唯一索引,默认为false。
nullable: 指定列是否可空,默认为false。
precision:指定列为decimal类型时,可存储的最大值。
scale: 指定列位decimal类型时,小数点后的精度位数。
columnDefinition:直接使用数据库定义语句DDL片段进行指定。如:columnDefinition="char(32) not null "。
options: 通过键值对参数设置数据库定义语言参数。如:options=[ “nullable” => false, “unsigned” => true, “default” => ‘’];

基本映射类型(Mysql):
string => varchar; integer => int; smallint => smallint; bigint => bigint;
boolean => tinyint; decimal => decimal; date => datetime; time => time;
datetime => timestamp;
text => text;
object => text(serialize()/unserialize());
array => text(serialize()/unserialize());
simple_array => text(implode()/explode());
json_array => text(json_encode()/json_decode())

doctrine安装和配置相关推荐

  1. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

  2. Portainer 安装与配置

    文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 ​ Portainer 是一个开源.轻量级Do ...

  3. Myeclipse安装、配置、测试

    Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...

  4. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  5. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  6. java jdk 1.8 安装_下载、安装、配置 java jdk1.8

    近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...

  7. mysql安装好需要优化配置一下_Mysql的安装、配置、优化

    Mysql的安装.配置.优化 安装步骤 1.先单击中的安装文件,如果是win7系统,请选择以管理员的方式运行. 2.大概需要30秒的时间,开始进入安装界面.请先把标红的打勾,好进行下一步的动作. 3. ...

  8. windows下opencv安装及配置(vs2010环境)

    opecv下载 前往官方下载地址 https://opencv.org/releases/ opencv安装及配置 解压,会得到一个opencv文件夹,可将提取出的文件移动到任意位置,我将其放在F盘. ...

  9. Elasticsearch 6.3.1、Head插件 安装及配置

    安装Elasticsearch Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch 也可以直接使用wget下载到某目 ...

  10. Zookeeper 安装和配置

    Zookeeper 安装和配置01 ZooKeeper的安装与部署02 转载于:https://www.cnblogs.com/hfultrastrong/p/8414587.html

最新文章

  1. Exchange2003-2010迁移系列之七
  2. objdump反汇编用法示例
  3. 【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )
  4. 网络编程(part2)--文件读写之打开/读取/写入
  5. java io操作_Java 的IO操作(文件的读,写操作)
  6. 通过解析URL实现通过Wifi的用户查找
  7. C++之STL理论基础
  8. 磁盘分区格式化及交换分区
  9. ea mysql建模_UML数据建模工具之Enterprise Architect(EA)实例-UML应用
  10. 让你的 Node.js 应用跑得更快的 10 个技巧
  11. PHP的分页原理和简单实例
  12. ssl证书 pem der cer crt key pfx 概念 沃通证书组合转换及haproxy配置证书
  13. 虚幻4随笔(安装与界面说明)
  14. oracle ebs 采购入库,ORACLE EBS/ERP 采购库存模块分录
  15. Python调用图灵机器人API
  16. 获取图片外链的方法--网易相册
  17. 985研究生在华为年薪30万,室友同学在美国亚马逊,一晒收入,蒙了!
  18. 服务器终端性能测试之MBW内存测试
  19. javafx与MySQL的连接_如何让javafx界面直接连接数据库?
  20. RTSP播放器高RTSP兼容推流网页无插件流媒体播放器EasyPlayer-RTSP关于MP4的封装调用流程介绍

热门文章

  1. Android studio 虚拟机启动不了Staring AVD
  2. dpi和ppi换算_十分钟快速理解DPI和PPI,不再傻傻分不清!
  3. 计算机软件技术就业方向,软件技术的就业前景和就业方向
  4. 对接萤石平台调用播放
  5. 计算机专业新生创新思维研究,计算机基础与计算思维探究论文
  6. 手把手教你在Unity中实现小地图
  7. 【数学史】大富翁的概率
  8. 炒鸡酷,IT互联网程序员就业新前景:看极客是怎么靠两个披萨影响世界
  9. P3191 [HNOI2007]紧急疏散EVACUATE
  10. 发光环绕文字特效怎么做?教程来了