yaf mysql_yaf集成medoo数据库操作
yaf没有自带的orm,所以必须自己集成orm。今天我就介绍自己喜欢的wedoo数据库操作类
目前使用的版本是0.9.8.3 yaf目录
1.修改public/index.php,在第一句写上
static $_db = NULL;//数据库静态变量
2.修改配置文件conf/application.ini
application.library = APP_PATH “/library”
;数据库加载
database.database_type = “mysql”
database.database_name = “yourdb”
database.server = “localhost”
database.username = “root”
database.password = “”
database.charset = “utf8″
database.port = 3306
数据库连接部分
3.修改library/medoo.php
use Yaf\Bootstrap_Abstract;
class medoo extends Bootstrap_Abstract
{
…. 省略
}
这里是继承Bootstrap_Abstract;
在构造方法中使用
public function __construct($options = null)
{
global $_db;//静态db
$dbConfig=\Yaf\Registry::get(“config”)->database->toarray();
$dbConfig[‘option’]=array(PDO::ATTR_CASE => PDO::CASE_NATURAL);
$options = $dbConfig;
。。。。省略N行
//以上是连接数据库的,这就是为什么要继承Bootstrap_Abstract的原因
//然后把$this->pdo = new PDO($dsn, $this->username, $this->password, $this->option);改成
if(!$_db){
$_db=$this->pdo = new PDO($dsn, $this->username, $this->password, $this->option);
}else{
$this->pdo=$_db;
}
}
配置完毕。这里解释一下为什么要用$_db。简单来说就是单例模式。
使用medoo类。我们可以在模型中这样用 Application/models/SampleModel.php
class SampleModel extends medoo{
private $_table=’mytable';
public function show(){
$list=$this->select($this->_table,’*’, array(
‘LIMIT’=>5
));
return $list;
}
}
?>
在Application/controllers/Index.php 这样用
use Yaf\Controller_Abstract;
class IndexController extends Controller_Abstract {
public function indexAction(){
header(‘content-type:text/html;charset=utf-8′);
$model = new SampleModel();//第一次new
echo ‘
';
print_r($model->show());
echo ‘
';
$mo = new SampleModel();//第二次new
}
}
?>
用static $_db 实现单例模式,无论你new多少次模型,数据库只连接一次
yaf mysql_yaf集成medoo数据库操作相关推荐
- yaf mysql_Yaf框架封装的MySQL数据库操作示例
本文实例讲述了Yaf框架封装的MySQL数据库操作.分享给大家供大家参考,具体如下: Yaf封装DB简单操作 介绍 因为Yaf是一个纯天然的MVC阔架,本人还在贝锐的时候就和主管一起用Yaf框架去重构 ...
- SpringBoot(13)--- 数据库操作(集成MyBatis)
SpringBoot 数据库操作(集成MyBatis) Spring对持久化的支持,不单只支持JDBC,为各种支持的持久化技术都提供了简单的模板和回调: ORM持久化技术 模板类 JDBC(JdbcT ...
- 安卓本地轻量级数据库操作框架 greenDao3.2.2 详细教程附带Demo①——集成环境,开辟难题。
欢迎安卓本地轻量级数据库操作框架 greenDao3.2.2 学习之旅. 本套框架博客系列博客目录: 第一篇:认识 greenDao3.2.2 框架,集成环境,开辟难题. 第二篇:简单的进行 增.删. ...
- 便捷,轻巧的Groovy数据库操作
本文主要介绍Groovy对数据的CRUD操作,熟悉groovy.sql包,测试使用的数据库是H2. 1.数据库连接配置 //数据库连接配置 def db = [url:'jdbc:h2:mem:gro ...
- oracle可以面向对象吗,Jbdc助手-数据库操作面向对象的实现(oracle)
前言: 如果你对hibernate不是那样的推崇,但感觉jdbc的sqlr操作又不是那么OO的话,那么这篇文章可能给能带来或多或少的期望- 在很长的一段时间里,中总感觉应该对sql的操作来实现一种集成 ...
- 利用Java存储过程简化数据库操作
利用Java存储过程沟通SQL.XML.Java.J2EE和Web服务. 存储过程(stored procedure)允许将运行于数据库层中的持久性逻辑与运行于中间层中的商务逻辑有效地分离开来. ...
- ballerina 学习二十九 数据库操作
ballerina 数据操作也是比较方便的,官方也我们提供了数据操作的抽象,但是我们还是依赖数据库驱动的. 数据库驱动还是jdbc模式的 项目准备 项目结构 ├── mysql_demo │ ├── ...
- 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
1.首先明确是不是一定要上缓存,当前架构的瓶颈在哪里,若瓶颈真是数据库操作上,再继续往下看. 2.明确memcached和redis的区别,到底要使用哪个.前者终究是个缓存,不可能永久保存数据(LRU ...
- Linux应用集成MySQL数据库访问技巧
本文描述了MySQL,一种利用第三方数据库开发电子贸易和其它复杂.动态网站的有效工具.MySQL 是一种快速.多线程和全功能的 SQL服务器.除了描述MySQL系统的基本体系结构以外,本文还提供了以T ...
最新文章
- 使用webpack-dev-server设置反向代理解决前端跨域问题
- 实验2(第二章课后习题)
- PHP 入门 - 10.应用技术
- mysql 和区块链的差别_论区块链是什么数据库——正名篇
- JAVA中的native
- HTML day02
- 我对 ASP.NET Web API 的随想
- linux 7修改主机名重启后不生效_Linux 中改变主机名的 4 种方法 | Linux 中国
- VS2008下用MFC 的MSComm控件编写串口程序
- python自动化办公教程-Python自动化办公之操作Excel文件
- 修改注册表,改回主页---内容来自百度
- WEBService-SOAP协议
- 坚守梦想,善待苦难,等幸福来敲门
- 【sv】for循环+fork-join_none结构的坑
- 一个屌丝程序员的青春(三三)
- Linux电脑睡眠后黑屏打不开,电脑睡眠后黑屏打不开怎么解决
- 【sql查询与优化】2.给查询结果排序
- 计算机四级office试题及答案,2014年计算机一级ms office试题及答案 47
- 记一次智能灯泡的破解
- Unity Shader学习笔记 - 用UV动画实现沙滩上的泡沫