1.模板复用
1. 菜单的重复
头部导航,尾部导航,后台,网站地图,网站标题
如:首页的栏目叫新闻,URL是news.php,管理中心的栏目名称也有新闻,URL也是news.php,及文件名也是news.php,模板名news.html
可用数组调用array(“news” => ‘新闻’);
$menu = array(
“contact” => array(“id”=>1, “title”=>”联系我们”);
)

调用:$menu[‘contact’][‘title’]
$title= menu[‘contact’][‘title’]

2. 修改密码
广告主与站长同有修改密码,但页面名称不一样。此页可共用。

3. 网站的下拉列表多次出现
2. 增加一个表字段title所需做的事
1) 表中增加字段title及注释
2) 添加表单增加相应的
3) 添加处理程序过滤$title=filter($_post[‘title’]);
4) 添加处理程序sql insert增加table(,title) values($title)
5) 修改表单增加
6) 修改处理程序过滤$title=filter($_post[‘title’]);
7) 修改处理程序sql update增加set ..title = $title
需要7步,如此繁琐。这只是最基本的,还不是那种数字字义的枚举值,否则还要做数字=>文字的状态转换,及下拉列表的相应生成,选中。
3.Isset与empty判断值为0的情况
function getLostState($key = ”){ //改成 $key = NULL即可
$arr = array(0=>”未处理”,1=>”处理有效”,2=>”处理无效”);
if($key){
//$key是0返回”未处理”,但当为0时此条件为假,用!empty($key) 也是一样
//isset()也如此,因为只要定义$key,isset就返回true,就算值为0,空也是true
return $arr[$key];
}
return $arr;
}
3.程序里返回数据最好全部封装完整,比如array[0] = array(‘hight’ =>’170cm’);直接加上单位这些附加信息,这样,前台显示页,用户中心,后台都可以直接调用这些规范好的数据。

案例:
新闻列表比如有多个页面:推荐新闻,置顶新闻,最新新闻,热门新闻。如果在模板里规范日期则要写4个 {date(‘y-m-d’,$time)},现在突然需要将其改为2011年1月1日的形式就要修改4处。如果在getList()里将数据规范好,返回的是一个规范的数据,那么模板就很简单了 {$time}就OK了,修改时只要改getList()。
当然,上面提及的那个模板可以抽取出来,单独成一个新闻list小模板,这样其它用到的地方直接包含该模板即可,和前面说的小模板复用一样。

4.
if (is_array($gTpl['data'])&&!empty($gTpl['data'])) {
foreach ($gTpl['data'] as $key => $value) {}
可变成if(arr_valid($r)){ //在arr_valid里验证数组的合法性
}
5.$this->display(THINK_PATH.’/Tpl/Autoindex/hello.html’); 居然还有这种用法,那就直接把所有的公共模板放到ThinkPHP/tpl目录下

6.model下面的类
class NewsModel{ //已经在model目录下为何还要加model后缀
function getNewsList(){} //已经在News类里为何还加News前缀
}

7.如果列表页静态化,那么如果有更新,必须要从头到尾更新下列表,这样新的文章才能排到第一位,如果倒着来呢。
比如100条记录,分10页
第一页是limit 90,10 1
最后一页是 limit 0,10 10,最后一页

如果增加20页,
第一页是limit 100,10 1
第二页是limit 110,10 2
原来的第一页只是显示的数字变了,url没变
第三页是limit 90,10 3不过这个页脚的页码还需要更新,列表页内容不用变了。那把页脚做成js的。

8.首页小列表的调用
$ladyId = 2; //女性类别id
$ladyList = $this->getList($ladyId,10);//取10条女性文章
$ladyUrl = url($ladyId); //女性类别的url链接,多用于“更多”

9. 经常使用到 var_dump($list);exit; 那不如写个函数 function e($list){var_dump($list);exit;}

10.页面经常变动的地方
    页面标题,关键词,描述,路径标题及url

11.没必要过于遵守规范,不要被什么mvc,模板分离完全套住。比如 :
这个完全没必要在模板里搞这么复杂,完全可以在后台把url,标题组织好,模板里只需单纯的echo即可。


Comments are closed.

Post Navigation