1.子类的构造函数如果显示重写后,一定要手动执行父类的构造函数
如下:
public function __construct(){ parent::__construct();}
如果不显示写构造函数 则会默认执行父类的构造函数
2.ajax回调函数无法读取全局变量是因为异步运行的原因 加上async:false就好
3. .htaccess文件里写上Deny from all 然后把这个文件放到htdocs的某个文件夹下 这个文件夹就从浏览器上消失了 这是rewrite的作用?
4.CI默认的控制器是welcome 如果想改成其他的 比如index 打开项目文件夹/config/routes.php 找到$route['default_controller']这一项 将其改为index即可
5.PHP时区设置date_default_timezone_set('Asia/Shanghai');或者date_default_timezone_set('PRC');
时区获取date_default_timezone_get()
注意date函数的参数 date('Y-m-d H:i:s') 如果是小写h的话 那显示的就是12小时制 大写才是24小时制
6.长轮询-服务器在接收到请求后 如果有数据就立刻响应请求 没有数据就等待 等到有数据的时候就响应请求 如果一直没有数据 等到超时的时候 服务器也响应请求 完成一个交互 客户等在收到服务器的响应后触发一个新的请求 开始下一个交互
短轮询-服务器在接收到请求后 不管有没有数据都立即响应请求 客户端收到响应后 间隔一定时间再向服务器发送查询请求
长轮询的实时性比短轮询高 所以长轮询常用于实时性高的IM等场景
7.匹配文章图片
preg_match_all('/\/i',$article['content'],$imgs); //匹配出图片$article['content'] = preg_replace('/\ /i','',$article['content']); //去掉图片$imgs = $imgs[0];
8.如果一篇文章里很多图片 大小各异 为了避免显示出来的时候 打乱版面布局 可以用max-length这个属性 超过的图片会被这个数值规范 没有这么大的小图片会保持原样 不会失真
9.无论是htmlspecialchars还是htmlentities都不对空格进行编码 但是html_entity_decode会对 进行解码
10.ajax提交的时候 直接用字符串提交会遇到一些问题 如果内容中含&符号 那么提交的内容会被丢失 解决的方式是用urlencode进行编码 还有一种更快捷的方式 那就是用js对象进行ajax提交 jquery会自动进行编码 从而省去了手动编码的步骤
11.如果在kindeditor编辑器中加入代码高亮功能
首先在前台页面加载js和样式
然后在后台编辑器初始化的时候加上cssPath参数
var editor = KindEditor.create('textarea.editor', { cssPath : ['[kePath]/plugins/code/prettify.css']});
完成 你也可以使用第三方的开源高亮显示插件