TP开发小技巧

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

/* 模板相关配置 */

  1. ‘TMPL_PARSE_STRING‘ => array(
  2. ‘__PUBLIC__‘ => __ROOT__ . ‘/Public‘,
  3. ‘.css"‘ => ‘.css?v=‘.time().‘"‘,
  4. ‘.js"‘ => ‘.js?v=‘.time().‘"‘,
  5. ),

复制代码

2、上传图片,最好使用base64,后台容易接收和保存

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

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

二、后端
1、index.php设置

1

  1. define("RUNTIME_PATH", ‘./Runtime/‘);

复制代码

2、配置一个上传目录 ,方便迁移

  1. Uploads’=>’./Public/Uploads’,

复制代码


3、上传的图片,本地保存不需要后缀

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

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

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

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

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

  1. protected function display($templateFile=‘‘,$charset=‘‘,$contentType=‘‘,$content=‘‘,$prefix=‘‘) {
  2. trace($this->view);
  3. $this->view->display($templateFile,$charset,$contentType,$content,$prefix);
  4. }

复制代码

配置文件 添加

1

  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多工具可以提升速度

时间: 2024-07-28 16:55:35

TP开发小技巧的相关文章

php开发小技巧--快速环境搭建

前几天同学让我帮忙调试一个PHP后台的网站,我擦,我都没有环境你丫还非得让我本地跑,不肯给我权限.我只想说三个字,你丫就是王八蛋.希望你看不到我写的这篇文章. now,吐槽结束,正题开始.下面介绍快速搭建一个PHP开发环境搭建的小技巧.no big deal,就是一个开源的软件.名字是PHPnow.它是Apache+PHP+ MySQL环境套件包,这种集成的开发环境的好处是,它用脚本的方式帮你做了各种缺省的配置,满足你的基本的需求.如果想更高级,对不起,自己定制. 下面用一个很久之前写的程序演示

ios开发小技巧-用宏化简代码

在IOS开发中,要做字典转模型一般情况如下: 1 /** 2 * 声明方法 3 */ 4 - (instancetype) initWithDictionary:(NSDictionary *)dict; 5 + (instancetype) carWithDictionary:(NSDictionary *)dict; 6 7 /** 8 * 实现方法 9 */ 10 - (instancetype)initWithDictionary:(NSDictionary *)dict 11 { 12

开发小技巧2——代码段

概念: 代码段是将预先定义好的可重用代码块快速插入到代码文件中,代码段提高了开发效率,增强了代码的可重用性:既节约了时间,又实现了不同开发人员间代码的共享.同时也可保证同一项目中代码风格的统一. Visual Studio中已经定义了部分代码段,例如:在visual studio中输入for按tab健即可自动生成for循环语句,输入tryf按tab则自动生成try catch语句.       在Visual Studio 2012中创建自定义代码段: 选中项目文件,右击添加-新建项-选择XML

BizTalk开发小技巧

BizTalk开发小技巧 随笔分类 - Biztalk Biztalk 使用BizTalk实现RosettaNet B2B So Easy 摘要: 使用BizTalk实现RosettaNet B2B So Easy最近完成了一个vmi-hub的B2B项目,使用Rosettanet 2.0的标准与一家品牌商,OEM,供应商实现B2B.一共交换4个报文,4B2,3B2,4B2 POD,4C1,说白了就是收发存这些数据:项目环境BizTalk2009...阅读全文 posted @ 2015-10-2

27个iOS开发小技巧

<span style="word-wrap: normal; word-break: normal; line-height: 1.5em; font-size: 14px; outline: none; color: rgb(51, 51, 51); font-family: 'Helvetica neue', Helvetica, sTheiti, 微软雅黑, 黑体, Arial, Tahoma, sans-serif, serif;"><span style=

前端网络、JavaScript优化以及开发小技巧

一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN缓存 通过构建工具Gulp,可以在开发的时候就将合并压缩的事情一起做掉. 之所以要做合并压缩是因为:HTTP 1.x不允许一个连接上的多个响应数据交错到达(多路复用),因而一个响应必须完全返回后,下一个响应才会开始传输. 也就是说即使客户端同时发送了两个请求,而且CSS资源先准备就绪,服务器也会先发

.Net开发小技巧

.NET项目开发中的小技巧 1.不要频繁的创建对象...这个损失是巨大的...new太多了,后果比较严重. 2.打开数据库后要及时的关闭连接,如果你不能做到一个open后跟一个close,那也没关系,用Using满足你偷懒的欲望吧 3.别太迷信string str1 = "";和string.empty之间的差异,性能上和你想的完全不一样.放心大胆的使用""吧. 4.如果你的项目比较大,或者你的IIS服务器配置不太高,那么,我还是建议你多用存储过程,减少前端服务器的

iOS开发小技巧之--WeakSelf宏的进化

我们都知道在防止如block的循环引用时,会使用__weak关键字做如下定义: __weak typeof(self) weakSelf = self; 后来,为了方便,不用每次都要写这样一句固定代码,我们定义了宏: #define WeakSelf __weak typeof(self) weakSelf = self; 之后,我们可以比较方便的在需要的地方: WeakSelf; ... [weakSelf doSomething]; 再后来,我们发现不止self需要使用weak,可能有部分变

报表开发小技巧:报表的设计与配色技巧

1.示例工具 报表开发工具FineReport 2. 取色 2.1 设计器里取色 点击背景右侧的小三角,点击更多颜色,点击自定义选项卡,这里的HSL或者RGB值,就是我们需要得到的精确的颜色,如下图所示. RGB 是对机器很友好的色彩模式,但并不够人性化,因为我们对色彩的认识往往是"什么颜色?鲜艳不鲜艳?亮还是暗?"HSL 模式和 HSV(HSB) 都是基于 RGB 的,是作为一个更方便友好的方法创建出来的. HSL即色相.饱和度.亮度(Hue, Saturation, Lightne