php框架orm技术,最佳PHP开源ORM框架Doctrine
时间:2009-05-22 23:00:04
类别:脚本收藏
访问:5941
最佳PHP开源ORM框架Doctrine
Doctrine是一个PHP的ORM框 架,它在 >=php5.2.3版本上才支持,它是一个功能强大的数据抽象层.它的一个主要特征就是写代码是OO方式的,并且它有一个DQL的语言, 这为开发人员提供了强大的替代到SQL保持最高的灵活性,而不需要不必要的代码重复。
===================================
Doctrine数据库编码修正:
有个问题就是建立数据库时一般推荐采用UTF-8编码以方便支持中文,同时为了统一连接校对和数据库字符为UTF-8, 在直接写sql的时代针对MySQL我们可以直接写 “set names utf8″,其他数据库就不同了。Doctrine 考虑得比较周到,可以通过如下操作来对所有的数据库连接进行设置:
Doctrine_Manager::getInstance()->getCurrentConnection()->setCharset('utf8')
在mysql数据库里面,每次操作都会执行,而我们很多时候可能根本不需要数据库操作,太浪费了。以下是解决办法,可以在建立实际的数据库链接操作之后才执行这条语句。
<?phpclassCharsetListenerextendsDoctrine_EventListener {protectedstatic$charset='utf8';publicfunctionsetCharset($charset='utf8'){self::$charset=$charset;}functionget($charset=''){if(!empty($charset)){self::setCharset($charset);}returnnewself();}publicfunctionpostConnect(Doctrine_Event$event){$event->getInvoker()->setCharset(self::$charset);}}
下面是初始化代码
$config=parse_ini_file(ROOT.DS.'app/config.ini.php',true);$db=$config['database'];$dsn= “{$db['driver']}://{$db['user']}:{$db['pass']}@{$db['host']}/{$db['name']}”;Doctrine_Manager::connection($dsn,$db['name']);CharsetListener::setCharset($db['charset']);Doctrine_Manager::getInstance()->getCurrentConnection()->addListener(CharsetListener::get($db['charset']));
这样就能够兼顾效率和字符集了。
Incoming search terms:
php框架orm技术,最佳PHP开源ORM框架Doctrine相关推荐
- 淘宝客户端 开源框架_使用最佳的开源客户端框架进行云计算
存档日期:2019年5月13日 | 首次出版:2009年8月18日 了解使用Adobe®Flex和OpenLaszlo(两种领先的客户端富Internet应用程序(RIA)开发语言)的优缺点,这对于为 ...
- rf框架的缺点_2017热门开源自动化测试框架优缺点对比
原标题:2017热门开源自动化测试框架优缺点对比 时间一晃已来到 2017 年的最后一个季度,TestProject 对比了在今年比较热门的 7 款开源 自动化测试框架的优缺点,以帮助你选择适合自己的 ...
- 轻量级PHP接口框架PhalApi开源接口框架 v2.17.1源码
简介: PhalApi简称π框架(派框架),一个轻量级PHP开源接口框架,配套运营管理平台,专注于接口服务开发,支持HTTP/SOAP/RPC协议,拥有自动生成的在线文档.多种开发语言的客户端SDK包 ...
- 简单易用的开源ORM框架SqlSugar v5.0.0.19源码
介绍: SqlSugar是一款简单易用的开源ORM框架. 框架优点: 简单易用.功能齐全.高性能.轻量级.服务齐全 支持数据库:MySql.SqlServer.Sqlite.Oracle.postgr ...
- Orm框架介绍和常见的Android Orm框架
ORM(Object Relational Mapping)框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中. 先介绍一下ORM的概念,以前也一直听说 ...
- 学习笔记之什么是持久化和对象关系映射ORM技术
----------------本文转自:http://www.cppblog.com/javenstudio/articles/541.html--------------------- 何谓&qu ...
- .NET 5 开源工作流框架elsa技术研究
编者注: 工作流框架 elsa 是.NET基金会下面的开源项目,2.0版本即将在3月份发布,目前正在紧锣密鼓的开发之中,2020年2月份我也介绍过推荐一个很棒的开源工作流elsa-core ,今天给大 ...
- mongodb orm java_基于Java的ORM框架 Mongodb-ORM
软件介绍 mongodb-orm简介Mongodb ORM是基于java的ORM框架,简化了SDK的使用,使代码变得更清晰.简单. 与Ibatis类似,将查询.执行语句封装在xml中,与代码隔离.简称 ...
- Java开源Web框架
WebWork 点击次数:18070 WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架.WebWork目前最新版本是2.1,现 ...
最新文章
- svn 命令行创建和删除 分支和tags
- JDBC连接数据库过程
- Operations Manager 2007 R2系列之单台性能视图
- python字典数组排序sorted_Python利用sorted进行字典排序
- IntelliJ IDEA 快捷键(一)(window版)
- leetcode99. 恢复二叉搜索树(优先队列)
- 每日面试之Java集合
- CentOS 6.5 x64 Redis 安装
- Jscript中文变量乱码,又一次中招 _
- qq里面cap字符_QQ 幸运字符一共有几种?
- 【数字信号去噪】基于matlab小波软阈值+硬阈值+改进阈值轴承故障仿真信号去噪【含Matlab源码 1024期】
- 用vb6.0编写简易计算机,vb小程序(用vb编写简单小程序实例)
- 苹果ipad怎么录屏_原来苹果手机还能这样投屏!1秒小屏变大屏!太好用了
- HL7 v2.5 入门
- 数据解读:在上海,创业者真的不受待见吗?
- 20159318 《网络攻防实践》第2周学习总结
- JavaScript函数-创建参数个数不限数量的函数
- 暗影精灵8 pro安装ubuntu20.04后,没有wifi驱动
- Simulink 3D Animation的使用(V_realm builder2.0)
- 【jqprint打印】js两种超简单的打印方法