你不得不掌握的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 头标签. 移动端的工作已经越来越成为前端工作的重要内容,除了平常 ...
随机推荐
- python 数据可视化---Anscombe’s quartet
import seaborn as sns sns.set(style="ticks") # Load the example dataset for Anscombe's qua ...
- 加解密---Java安全
一.概述 1.JCA(Java Cryptography Architecture) 提供基本的加密框架(消息摘要.数字签名......) 2.JCE(Java Cryptography Extens ...
- 关于火狐不响应event.keyCode解决方法
<body onkeydown="enterkey(event)"> <!-- 点击键盘即触发 enterkey函数 --> function enterk ...
- 性能测试工具LoadRunner23-LR之Analysis 性能分析
一.图表分析 1.Average Transaction Response Time(事务平均响应时间) “事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测 ...
- Git常用配置
Git设置默认用户名和密码 1.进入C:\users\Administrator目录下,通过git bash终端输入touch .git-credentials后回车2.打开生成的.git-crede ...
- 硬盘和显卡的访问与控制(二)——《x86汇编语言:从实模式到保护模式》读书笔记02
上一篇博文我们讲了如何看到实验结果,这篇博文我们着重分析源代码. 书中作者为了说明原理,约定了一种比较简单地用户程序头部格式,示意图如下(我参考原书图8-15绘制的,左边的数字表示偏移地址): 所以, ...
- 导出CSV
public FileResult ExportExcel() { var sbHtml = new StringBuilder(); sbHtml.Append("<table bo ...
- C#让窗体在启动时直接隐藏
最完美的解决办法,不闪烁.思路为:首先将窗体透明度设置为0,这样窗体在启动时就不显示了,然后再调用Hide将窗体隐藏再将其透明度设置为1即可. 其实就设置2个地方就行了. 1:设置窗体透明度为0 2: ...
- HTML超链接实用
1.文本链接: <a href="http://www.meng.com/" target="_blank">访问meng!</a> 2 ...
- ArcGIS创建要素类
在使用ARCGIS软件进行工作时,免不了要建立地理数据库和要素类之类的.一下是我创建文件地理数据库并在数据库中创建要素类写相关步骤: 1.启动软件,可以使用ARCCatalog直接进行创建也可以使用A ...