UCHome风格模版 框架核心代码提取

本文详细介绍了uchome系统作为SNS网站构建平台的特性和优势,包括其PHP技术基础、核心文件作用以及如何提高代码质量和性能的方法。通过使用uchome提供的简化框架和功能,开发者能够高效地搭建小型到中型规模的系统。
uchome是个sns系统,但也是拥有深厚php技术积累的康盛公司的商业产品,本身有许多值得学习的地方,你可以用它来架设垂直的sns网站,也可以学习他的一些技巧,提高自己的代码水平,改善代码质量。

对于php开发而言,轻量的东西总是受青睐,cake,zend framework这些框架虽然很好,但是对于规模比较小的系统而言,还是过了些,利用从uchome里裁剪出来的东西,就能用简单适度的方式把系统做得足够好。

uchome的整个结构很简单,虽然也是mvc的模式,但严格来讲,并没有自己实现一套model,直接用数据库返回的对象,view是通过自己实现的一套模板方法来做到功能代码和界面设计的分离。
uchome的框架比较核心的几个文件:

source/function_common.php
提供常用的函数,例如获取post过来的字符串,获取用户身份,插入数据,更新数据,日志,模板调用接口,其中getstr,insertable,updatetable几个函数非常实用和方便。
看看gestr的函数参数;
function getstr($string, $length, $in_slashes=0, $out_slashes=0, $censor=0, $bbcode=0, $html=0)
截取字符串,转义字符,html化,bbcode都在里面
插入和更新数据的方式也非常简单,不用你自己拼接sql,以插入数据为例:
function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false)
我们插入员工信息,则可以这样写:
inserttable('staffs',array('name'=>'hankshuang','post'=>'de','age'=>25),1)


source/function_template.php
模板函数文件,提供模板文件的解析方法,被function_common文件中的template调用,将template目录下xxx.htm文件解析成xxx.php文件,将模板语法<!--{if $staffid}--><!--{/if}-->的代码转义为<?php if ($staffid) {?><?php } ?>,用 loop 来指代 foreach,解析的代码也不复杂,有兴趣可以仔细阅读下function_template.php文件里的parse_template方法,都是调用preg_replace进行正则表达式替换,通过这种方式,你就不用去编写混杂着<?php 和html的代码了,眼不见为净。性能的提高?交给下面的cache吧

source/function_cache.php
提供缓存的写入和更新,最重要的方法就是cache_write方法,看看声明:
function cache_write($name, $var, $values)
如果我想把员工数据缓存起来,那么对于$staff = array('name'=>'hankshuang','age'=>25)
就调用方法
cache_write('staffcache','staff',$staff)
下次想用这个内容的话,直接include data目录下的这个data_staffcache.php文件,就得到$staff这个对象了,原理简单,用起来却很方便.

有这三个文件,就足够你打造一个快速实用的系统了,当然uchome里还有一些非常好用的函数,比如图像处理,邮件发送,定时任务这些,设计都很巧妙,对于提高php开发技能很有帮助。

 

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/02/23/1672101.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值