你不得不掌握的thinkphp5
thinkphp官网在去年的时候发布了tp的颠覆版本thinkphp5,tp5确实比之前的版本好用了很多,增加了很多的一些特性,它采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化工作,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,绝对是新项目的首选(无论是WEB还是API开发),大大的赞!
主要特性包括:
1、遵循PSR-2、PSR-4规范
2、支持Composer,拥有了它我们在实际的开发工作中确实方便了很多,爱死它了,别问我为什么,任性。
3、支持单元测试;
4、安全机制,详细的日志能帮你轻轻松松的做到问题定位
5、减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;
6、出色的性能和REST支持、远程调试,更好的支持API开发;
7、惰性加载,这个较比3.2版本性能爆升
8、路由、配置和自动加载的缓存机制
不整虚的,接下来来些实际的常用用法吧
1、我们可以不需要通过配置虚拟域名的方式来访问我们的项目非常方便,只需要在入口文件中 (默认在public目录下) 执行 如下命令
php -S localhost:8181 router.php 就可以通过localhost:8181来访问我们的项目,8181是端口号,关于更高级的用法请看下文左下角的链接,哈哈
2、自动化模块部署
比如我们想增设系统中的某个模块,如:admin api等模块,这个时候我们只需要巧用build.php这个神器
在application目录下 创建build.php文件 然后新增如何内容
然后我们需要回到项目跟目录下 执行 php think build 就可以轻轻松松搞定自动化模块部署了
3、新的分页机制
tp5的分页真的很好用 比3.2.3的好用多了。用法如下
直接在model层调用paginate这个方法就能做到分页,paginate默认的是每页15条,当然你可以可以自行分配 ,可以在配置文件中分配,也可以这样分配paginate(你想要的参数)等
然后在模板中这样填充数据就可以做到完美分页了:
{$obj->render()} $obj是你在c 层获取数据的变量
关于分页更高级的用法 关于更高级的用法请看下文左下角的链接,哈哈
tp5的新用法很多很多,就不一一列举了,如果大家感兴趣可以看看我最新推出的新课程 《ThinkPHP5实战 - 仿百度糯米开发多商家电商平台》
里面的干货十足:
本课程是利用tp的颠覆版本(TP5)来开发的一套完美多用户电商平台,本课程从需求分析到代码实现带领大家完整的经历多用户电商系统的开发过程,本课程涉及如何根据案例的业务逻辑划分功能模块使用模块化的方式开发实现代码的高度复用性这样可以大大提高开发效率,降低维护成本, 项目分商家模块,主平台模块,前台模块3个大部分。系统中利用tp5的一些特性来开展工作,比如webserver神奇;验证码;自动化模块部署;命令机制;session机制,问题定位;问题调试等等,系统中还会讲解ajax综合应用包括图片异步上传 自动化排序等;百度地图应用封装;打造tp5的发送邮件服务;API开发、微信支付等功能。
需要的小伙伴赶紧加入课堂
《ThinkPHP5实战 - 仿百度糯米开发多商家电商平台》
作者: singwa
链接:http://www.imooc.com/article/16978
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
你不得不掌握的thinkphp5的更多相关文章
- EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。
EpiiAdmin EpiiAdmin php开源交互性管理后台框架,基于Thinkphp5.1+Adminlte3.0+Require.js, 让复杂的交互变得更简单!Phper快速搭建交互性平台的 ...
- TODO:macOS上ThinkPHP5和Semantic-UI集成
TODO:macOS上ThinkPHP5和Semantic-UI集成 1. 全局安装 (on OSX via homebrew)Composer 是 homebrew-php 项目的一部分 2. 把X ...
- Java的多线程机制系列:不得不提的volatile及指令重排序(happen-before)
一.不得不提的volatile volatile是个很老的关键字,几乎伴随着JDK的诞生而诞生,我们都知道这个关键字,但又不太清楚什么时候会使用它:我们在JDK及开源框架中随处可见这个关键字,但并发专 ...
- ThinkPHP5 助手函数
对于ThinkPHP5.0以前的版本,助手函数全部是单字母函数,但到ThinkPHP5之后,使用如下函数来代替单字母函数: 最常用: /** * 实例化Model * @param string $n ...
- 高性能PHP框架thinkphp5.0.0 Beta发布-为API开发而设计
ThinkPHP V5.——为API开发而设计的高性能框架 ThinkPHP5..0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载 ...
- 吐槽THINKPHP5命令行
thinkphp,作为国内开源框架,一直在使用和学习. 但是实在忍不住想要吐槽一下他的开发文档,和 对初学者的不友好,建议刚接触MVC思想的人 还是尽量去使用其他框架当入门. 现在来吐槽一下think ...
- [转] 移动前端不得不了解的HTML5 head 头标签
HTML的头部内容特别多,有针对SEO的头部信息,也有针对移动设备的头部信息.而且各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元 素,有很多差异性.移动端的工作已经越来越成为前端工作的重要内容 ...
- 【thinkphp5】【THINKCMG】标签部分开发(一)
最近打算开一个自己的CMS后台轮子,框架选择了thinkphp 5 (别问我为什么选择这个框架)然后想边开发边记录一下,方便自己方便他人 进入正题 1.数据库设计 一共三张表 post文章表这个就不贴 ...
- Html5_移动前端不得不了解的html5 head 头标签
移动前端不得不了解的html5 head 头标签 本文主要内容来自一丝的常用的 HTML 头部标签和百度FEX的HTML head 头标签. 移动端的工作已经越来越成为前端工作的重要内容,除了平常 ...
随机推荐
- my.梦幻手游_XP
1.http://my.netease.com/thread-459708-1-1.html 2. 3.
- oracle 12.1.0.2的mgmt 导致的ORA-01017 bug
两节点12c RAC,在两节点上export ORACLE_SID再sqlplus / as sysdba都正常登录,然而Commvault通过service_name方式(sqlplus sys/p ...
- js arguments 和 reduce求和
1.js arguments arguments 是一个对应于传递给函数的参数的类数组对象 function sum(){ ; ; i < arguments.length; i++){ sum ...
- Object类中有哪些方法
equals().hashCode().wait().notify().notifyAll().toString().clone().getClass().finalize()
- free -m命令输出详解
free -m输出有3行: Mem:表示物理内存 -/+ buffers/cached:表示物理内存缓存 Swap:表示硬盘交换分区 其中Mem中的total.used.free.shared.buf ...
- python dataframe drop_duplicates用法技巧去重
data.drop_duplicates()#data中一行元素全部相同时才去除 data.drop_duplicates(['a','b'])#data根据’a','b'组合列删除重复项,默认保留第 ...
- The Falling Leaves UVA - 699
题目链接:https://vjudge.net/problem/UVA-699 题目大意:给一颗二叉树,每个结点都有一个水平位置 :左子节点在它左边的1个单位,右子结点在它右边1个单位.从左向右输出每 ...
- 聊一聊IAR的workspace文件组织
抽空偶尔做个zigbee实验其实也挺好玩的,今天我就来总结一下嵌入式IAR Embedded Workbench这个非常有效的集成开发环境的文件组织. 每一个workspace由一般是由.c文件和一个 ...
- 【Linux】Debian vim没有颜色的解决办法
vim /etc/vim/vimrc #查找到syntax on 启用,去掉前面的“ (引号). 保存ok 转载地址:http://www.th7.cn/system/lin/201404/525 ...
- 几个单元素Loading动画解构
这个账号建了也有1个多月,拖延症患者终于下定决心开始写博.做前端从前至后差不多1年时间,如果文中有什么纰漏欢迎指出,未来的路还很长~ 第一篇文章用来解构几个挺不错的单元素Loading动画.效果图如下 ...