TP开发小技巧
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多工具可以提升速度
TP开发小技巧的更多相关文章
- Windows统一平台: 开发小技巧
Windows统一平台: 开发小技巧 技巧一: 在手机端拓展你应用的显示区域.(WP8.1中也适用) 对于Windows Phone系统的手机, 手机屏幕最上方为系统状态栏(System Tray), ...
- flex开发小技巧集锦
关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ...
- 移动Web开发小技巧
移动Web开发小技巧 添加到主屏后的标题(IOS) name="apple-mobile-web-app-title" content="标题"> 启用 ...
- BizTalk开发小技巧
BizTalk开发小技巧 随笔分类 - Biztalk Biztalk 使用BizTalk实现RosettaNet B2B So Easy 摘要: 使用BizTalk实现RosettaNet B2B ...
- Java开发小技巧(三):Maven多工程依赖项目
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...
- iOS开发小技巧 - UILabel添加中划线
iOS开发小技巧 遇到的问题: 给Label添加中划线,然后并没有效果 NSString *str = [NSString stringWithFormat:@"合计金额 ¥%.2f&quo ...
- PHP开发小技巧②—实现二维数组根据key进行排序
在PHP中内置了很多对数组进行处理的函数,有很多时候我们直接使用其内置函数就能达到我们的需求,得到我们所想要的结果:但是,有的时候我们却不能通过使用内置函数实现我们的要求,这就需要我们自己去编写算法来 ...
- PHP开发小技巧③—实现多维数组转化为一维数组
在平常的项目开发中我们多会用到让多维数组转化为一维数组的情况,但是很多Programmer不会将其进行转化,也有些没有想到很好的算法然后经过乱起八糟的运算方式将其勉强转化好,但是所写的程序代码冗余非常 ...
- PHP开发小技巧①①—php实现手机号码显示部分
从个人信息保护性的角度来讲,我们在开发过程中总会想办法去保护用户的一些个人信息.就如本篇博文所讲,我们有时会将用户的手机号码只显示出部分,这是很多网站都有做的功能.这个功能实现起来也是特别的简单,只需 ...
随机推荐
- 暴力求解——除法 Division,UVa 725
Description Write a program that finds and displays all pairs of 5-digit numbers that between them u ...
- Eclipse的快捷键及常用设置
本篇文章转自:http://blog.csdn.net/idsunb/article/details/6604451 1.提示键配置一般默认情况下,Eclipse ,MyEclipse 的代码提示功能 ...
- hdu4666 最远曼哈顿距离
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4666 #include <cstdio> #include <cstring> ...
- java中的代理
package cn.itcast.day3; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHan ...
- linux —— 学习笔记(环境变量的设置)
目录 环境变量概要 与环境变量相关的文件 设置环境变量 注意以及相关 1.环境变量概要 环境变量,简单来说,是储存了环境信息的变量.它可以让你在不指明全部路径的情况下执行某脚本或某应用程序,比如在 l ...
- Python中http请求方法库汇总
最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带 ...
- html打印表格每页都有的表头和打印分页
本文转载:http://www.cnblogs.com/RitchieChen/archive/2008/07/30/1256829.html 在做项目的时候碰到的.用户要求,页面呈现太长时,打印的时 ...
- July收集荷兰国旗问题之三路partition
这道题目和分成两块的partition的扩展.比如有一堆0 1 2 数字组成的数组,要分成 00 00 11 1 1 222 2这样的顺序的. 利用lumoto版的partition能够非常好的解 ...
- TCP/IP之分层
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.一个协议族,比方T C P / I P,是一组不同层次上的多个协议的组合.T C P / I P通常被觉得是一个四层协议系统. 1.每层的 ...
- Linux 开机自检的设置(tune2fs和fsck)
tune2fs和fsck的用法 tune2fs--调整ext2/ext3文件系统特性的工具. -l <device> 查看文件系统信息 -c <count> 设置强制自检的 ...