TP开发小技巧

时间:2022-01-18 20:05:19

TP开发小技巧
原文地址
http://wp.chenyuanzhao.com/wp/2016/07/23/tp%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/

http://wp.chenyuanzhao.com/wp/2016/07/23/tp%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/

一、前端
1、开发时间段禁止js,和css缓存,使用模板引擎在固定后缀加版本号或随机数

/* 模板相关配置 */
'TMPL_PARSE_STRING' => array(
'__PUBLIC__' => __ROOT__ . '/Public',
'.css"' => '.css?v='.time().'"',
'.js"' => '.js?v='.time().'"',
),
2、上传图片,最好使用base64,后台容易接收和保存

3、页面模板跟后台输出方法名一致,容易记忆不会歧义

4、上传表单时,键值名跟数据表一致,容易记忆不会歧义,安全问题不在字段名称上,别名不会更安全

二、后端
1、index.php设置

1
define("RUNTIME_PATH", './Runtime/');
2、配置一个上传目录 ,方便迁移
‘Uploads’=>’./Public/Uploads’,
3、上传的图片,本地保存不需要后缀

4、控制器最后不要写太多逻辑(少代码可以),逻辑写到model里面

5、不需要对多种url模式提供支持,现代搜索引擎没有那么低能,url已经没有seo作用

6、使用行为做权限控制,比继承控制器好用

7、可以对框架直接修改,但只能辅助性修改,新增删除都不会对业务逻辑影响

8、调试,修改tp的\ThinkPHP\Library\Think\controllerclass.php

protected function display($templateFile='',$charset='',$contentType='',$content='',$prefix='') {
trace($this->view);
$this->view->display($templateFile,$charset,$contentType,$content,$prefix);
}
配置文件 添加

1
'SHOW_PAGE_TRACE' =>true,
可以trace直接看到控制器赋值给模板的参数

9、session 不要放太多信息,除了user_id外,其他信息只能作为缓存类信息,不能直接获取
(保存在session不会更方便,如果保存很多信息,会造成混乱)

10、不要太多全局方法,最好写成对象,除了每个页面都要用到的,可以直接写成全局方法

11、修改tp的Build.class.php类,修改继承类为一个总控制器,方便显示404页面

12、A()、R()、D()是快捷实例对象,但他们会对新手误导,以为只能用他们实例化,对于静态方法,他们就没用了
勇敢用命名空间实例自己的类吧

三、数据库设计

1、禁忌过度的设计,例如总想分表,大数据的。

如果是log类型的分表的好的。

但是,对于有关系的数据表,一旦分表,意味着,你的代码量,复杂度,对成倍增加,拖慢项目速度。
而且,哪有这么多大数据,大流量,不要一开口就是淘宝天猫,人家淘宝刚开始开发时候有吗?
用户都是慢慢增长的,网站也不可能完成后都不维护。

随着用户增长,到了大流量时候,完全有时间金钱,升级、分流。
在不修改代码下,也可以升级硬件,对数据库分区分库,还可以变成meger表。
N多工具可以提升速度