数据库操作
LMLPHP 框架本身并不包含框架之外的一些事情,看一些前辈的框架也都是如此,比如鸟哥的 Yaf 就没有包含数据库的操作支持。但业界其他的一些框架,如 Laravel,Zend Framework,提供的更多的是一个生态圈解决方案,更着重于解决方案。框架本身最重要的是轻巧,架构和合理的设计,LMLPHP 更着重于轻巧方便,安全,快速,高性能的 WEB 开发框架。但是,数据库的操作很重要,LMLPHP 一直努力提供最简单方便的数据库操作支持,于是 推出 LMLPHP-monkey 版本,里面浓缩了一些实用的方法,更重要的是对 MySQL 的支持。
LMLPHP-monkey GITHUB 地址 https://github.com/leiminglin/LMLPHP-monkey。提供了两种版本支持,区别在于一个支持 namespace,另一个兼容版没有使用 namespace。
LMLPHP-monkey 提供的数据库操作方法,性能极速,相比起非常复杂的 ORM 关系对象查询框架,LMLPHP-monkey 表现的非常好。一般一秒钟执行个 5000 次左右的简单查询是很容易做到的。相比 Laravel 框架的龟速,LMLPHP 让 WEB 开发回归本质。LMLPHP-monkey 内部会自动判断系统是否支持 PDO,来选择是否使用 PDO 或原生的 PHP 连接数据库。
数据库连接示例:
<?php
$dbconfig = array(
'dbconfig' => array (
'hostname' => 'localhost',
'hostport' => '3306',
'username' => 'root',
'password' => 'root',
'database' => 'lmlphp',
'charset' => 'utf8',
'dbprefix' => 'lblog_',
'persist' => false,
),
'dev' => array (
'hostname' => 'localhost',
'hostport' => '3306',
'username' => 'root',
'password' => 'root',
'database' => 'lmlphp',
'charset' => 'utf8',
'dbprefix' => 'lblog_',
'persist' => false,
),
);
?>
上面为配置代码,只需要在项目中提前载入即可,值得注意的是,这个需要在最外层作用域中载入。系统默认连接的数据库 key 为 dbconfig。
好的框架学习成本一定很低,LMLPHP-monkey 操作数据库最重要的一个方法 query()。如果您不愿意学习,那就记住这一个方法就可以了。如果您使用 IDE 开发,你甚至不用往下看,IDE 会正确的提示你怎么传参。
执行 SQL 语句:
<?php
$sql = 'select * form lblog_user where name=?';
$params = array('张三');
q('table_name')->query($sql, $params);
\/\/ or
db()->query($sql, $params);
?>
特别强调 update 方法。Update 方法 where 条件中传入的占位符必须是 :name 的格式,因为使用 PDO 操作时,占位符必须一致,否则会出错。而框架内部的占位符使用的不是问号,而是冒号开头。如下示例:
<?php
$arr = array('name' => '张三');
$params = array('id' => 1);
q('lblog_user')->update($arr, 'where id=:id' $params);
?>
更多资料: