|
比如说查询、更新、增加、分页列表、多表连查等等以后我会写一个具体的demo来说明如何使用PHP开发MVC模型的其他方法。
希望对大家有所协助。PHP开发MVC模型对于初学者来说还是不太了解其中的含义。文章中详细讲述了PHP开发MVC模型的具体方法。
使得性能下降,使用MVC让程序多了很多数据库操作。这着实让我吃了一惊。MVC只是一种框架,与数据库操作没有任何关系。MVC只是提供一种清晰的编程开发模式,只要你处置的好,不可能多处很多无谓的数据库操作的如果一个MVC让一个程序员在不知情的情况下多出了很多数据库操作就绝对不是一个很好的MVC架构。觉得MVC只要提供一个简单的开发框架就行了没有必要集成很多库类,库类最好能让顺序员自己选择去使用。
对我个人来说,没有深入研究过MVC理论。模型就是一个数据库的封装,调用模型的方法,可以得到相应的数据,但实现的细节顺序员不需要关心。 脱发吃什么好 实际开发中,很可能一个数据库的表就对应一个模型。
通过select就可以实现查询,通过updat就能实现更新。同时模型应该是和具体的数据库类型无关的无论你使用的mysql,比如说一个用户信息表userinfo对应就有一个模型user通过调用模型useradd方法你就可以向数据库添加一条数据。oracl还是sqlserver
而且性能更好。如果一个程序员连SQL知识都没有,同时我不推荐在WEB开发中使用ROR复杂的多表查询使用SQL语言是多么方便和快捷的事情。不认为他一个合格的顺序员。所以,模型里面,提供了一个queri方法来实现直接的SQL查询。
完整代码请见demo包。下面是PHP开发MVC模型的一个大概结果。不是完整代码。
<?
1.classmodule{
var$mysql;//数据库操作类。
oracle,可以是mysql.sql等等
2.var$tbname;//模型对应的表名称
var$debug=false;//否是调试模式
$db=''{3.functionmodul$tbname.}
//构造函数
function_setDebug$debug=tru{}//开启或者关闭调试模式
$tbname=''{4.functionadd$row.}
5.//新增加一条记录
functionqueri$strsql{}//直接查询sql语句
$tbname=''{6.functioncount$where=''.}
7.//计数统计
$tbname=''{}//查询 functionselect$where=''.
$tbname=''{8.functiondelet$where=''.}
9.//删除满足条件的一个记录
$where,functionupdat$set.$tbname=''{}//更新指定记录
$tbname=''{10.functiondetail$where.}
11.//详细显示一条记录
}
12.?>
使用数组和数据库的字段来对应的早期的PHPBEA N里面使用了对象来对应。但后来感觉这种PHP开发MVC模型的方法在PHP中不好,这个模型里面。而且增加了很多无谓的类。使用数组更加方便,效果更好(PHP中的数组的确是个好东西,相对JA VA 来说好太多了
使用了mysql数据库来演示,下面的demo中。其中数据库操作类改自我原来的一个库类。
详细讲解使用demo^_^下面。
原来的包的index.php里面增加
<?
1.require_oncSITE_PA TH.'/
libs/phpbean.class.php';
require_oncSITE_PA TH.'/
libs/mysql.class.php';
2.$phpbean=newphpbean;
global$phpbean;
3.$mysql=newmysql"localhost"
"****""****""52site"; .
$mysql; $phpbean->regist'db'.
4.unset$mysql;
5.?>
关于注册器的使用的原理,这段PHP开发MVC模型代码主要是把MYSQL注册到注册器里面。可以看我翻译的两篇文章。
代码如下:然后新建一个mysqlController.class.php文件。
<?
1./**
*MVC演示demo
不包括平安处置2.*仅仅实现最基本的MVC功能。
及其他优化措施。 数据过滤。
*@author:feifengxlq
3.*@since:2007-1-24
*@copyrighthttp://www.phpobject.net/blog/
4.*/
classmysqlController
5.{
var$module;
6.functionmysqlControl{
require_oncSITE_PA TH.'/libs/module.class.php';
7.$this->module=newmodul'52site_siteinfo';
//52site_siteinfo为表名称
$this->module->queri"setname'gb2312'";
//如果是MYSQL5请加上这句
8.}
functionindexA ct{
9.print_r$this->module->select;//这样实现了读取数据
}
10.}
11.?>
加入一个模型。然后在indexA ct里面调用模型的方法来显示数据。这样就实现了最简单的查询列表。上面首先是控制器的构造函数里面。
本文由 婴儿用品专卖店 http://www.huazhuliu.com 整理转载
|
|