php项目mvc开发小案例,PHP中基于MVC模式的小型项目总结

最近做了几个小型的项目,比较简单,只是需要细心,都可以完成,主要是对MVC模式的熟练应用,对WEB类开发还是很有帮助的。

刚开始的第一个小项目,用来练手,然后我全部是流程化的编程。代码也就400行左右。结果我的导师,觉得代码结构不清晰,不容易

维护,需要修改。需要我采用OO类的编程方式进行改写。我以前写PHP,几乎全部是结构化的代码。开始写OO方面的代码,还真的不

熟悉了。以前做JAVA的时候,写Class是很得心应手的。重新开始学习OO,几个小时,慢慢就摸熟悉了。

然后第二个版本出来了,全部在一个类中,调用了N个互不相干的方法。实例化这个类,然后调用,搞定。

导师依然觉得结构不明晰,只是比第一个版本有些改进。于是跟我详细的讲解了MVC的模式,我在接下来的几个版本,都采用了MVC模式:

(1)Model层:构造一个Class类,然后在PHP5中的public function __construct(){},对一些私有变量进行初始化,然后在需要的

地方调用$this->_var;它只负责和数据源打交道,比如DB,文件,或者其他。

(2)Control层:构造一个Class类,然后引入Model的文件,对部分数据进行业务逻辑的处理,其中一般有个方法:render(),然后就

可以把需要的数据渲染到smarty中去。由于很多smarty的生成方法都相同,于是我在Control中也写了一个getSmarty()

方法,其实可以写入到一个common的PHP文件中。/**

*@param string $dir//从什么目录生成模板文件

*/

function getSmarty($dir)

{

require('Smarty.class.php');

$s = new Smarty;

$s->debugging = false;

$s->template_dir = $dir.'/template/';

$s->compile_dir = $dir.'/template_c/';

$s->left_delimiter = '

$s->right_delimiter = '}>';

$s->compile_check = true;

$s->debugging = false;

return $s;

}

(3)index.php文件,引入Control层的类文件,然后实例化一个成员,直接调用$class->render(),就OK了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值