ThinkPHP也是PHP,所以学好PHP才能更好的理解ThinkPHP的实现,以后开发时可以少犯错误,甚至可以为TP的新特性做贡献。
只有全面了解php的所有常用知识,才能让我们用最正确、高效、简洁的代码解决问题。
比方说,如何获取2个时间段之内的日期,或者全部时间?
你可能会说,简单,用for。
其实php 有个`datePeriod Class`专门处理这问题。
例子:
~~~
$start = '2014-11-17';
$end = date('Y-m-d', strtotime('-1 day'));
// 获取start 和end 之间的日期数组
$xAxis = array();
$start = new \DateTime($start);
$interval = new \DateInterval('P1D');
$end = new \DateTime($end);
$period = new \DatePeriod($start, $interval, $end->modify('+1 day'));
foreach ($period as $date) {
$xAxis[] = $date->format('Y-m-d');
}
~~~
再比如说,不知道list之前,我们想将数组里值取出来赋给多个变量:
~~~
$arr = array('a'=>'a','b'=>'b');
extract($arr);// $a='a', $b='b';
~~~
而用list
~~~
$arr = array('a','b');
list($a,$b) = $arr;
~~~
是不是简洁多了。
还有,PHP5.4 新增短数组语法,比如 `$a = [1, 2, 3, 4]; 或 $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];` 。
每一次PHP更新,都给php框架带来新的活力,比如说命名空间。
这个时候ThinkPHP也会随着php语法的更新,调整框架结构,达到性能和开发效率的提高。
比如为了安全,改写数据库驱动为pdo模式。
> 学海无涯,苦作舟
下个大版本PHP7 要出来了,大家赶快去学吧。
- 序
- 前言
- 内容简介
- 目录
- 基础知识
- 起步
- 控制器
- 模型
- 模板
- 命名空间
- 进阶知识
- 路由
- 配置
- 缓存
- 权限
- 扩展
- 国际化
- 安全
- 单元测试
- 拿来主义
- 调试方法
- 调试的步骤
- 调试工具
- 显示trace信息
- 开启调试和关闭调试的区别
- netbeans+xdebug
- Socketlog
- PHP常见错误
- 小黄鸭调试法,每个程序员都要知道的
- 应用场景
- 第三方登录
- 图片处理
- 博客
- SAE
- REST实践
- Cli
- ajax分页
- barcode条形码
- excel
- 发邮件
- 汉字转全拼和首字母,支持带声调
- 中文分词
- 浏览器useragent解析
- freelog项目实战
- 需求分析
- 数据库设计
- 编码实践
- 前端实现
- rest接口
- 文章发布
- 文件上传
- 视频播放
- 音乐播放
- 图片幻灯片展示
- 注册和登录
- 个人资料更新
- 第三方登录的使用
- 后台
- 微信的开发
- 首页及个人主页
- 列表
- 归档
- 搜索
- 分页
- 总结经验
- 自我提升
- 进行小项目的锻炼
- 对现有轮子的重构和移植
- 写技术博客
- 制作视频教程
- 学习PHP的知识和新特性
- 和同行直接沟通、交流
- 学好英语,走向国际
- 如何参与
- 浏览官网和极思维还有看云
- 回答ThinkPHP新手的问题
- 尝试发现ThinkPHP的bug,告诉官方人员或者push request
- 开发能提高效率的ThinkPHP工具
- 尝试翻译官方文档
- 帮新手入门
- 创造基于ThinkPHP的产品,进行连带推广
- 展望未来
- OneThink
- ThinkPHP4
- 附录