你不得不掌握的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 头标签. 移动端的工作已经越来越成为前端工作的重要内容,除了平常 ...
随机推荐
- xml和json互转
开发过程中有些时候需要把xml和json互转,如某钱X接口入参和出参都是xml格式的,十分蛋疼.特写下面工具类,以留用. 需要引用jar: <!-- https://mvnrepository. ...
- Hibernate通过自编写Sql修改
@Override public void updateTemMsg(String ticket,String time) { String sql="UPDATE INTER_TEMPTO ...
- Silverlight 鼠标双击 事件
Silverlight 双击事件例子 <UserControl x:Class="MouseDbClick.MainPage" xmlns="http://sche ...
- join合并字符串时使用生成器表达式
data=['11','pp','aa'] ','.join(str(d) for d in data)
- JQuery 技巧总结
一.简介 1.1.概述 随着WEB2.0及ajax思想在互联网上的快速发展传播,陆续出现了一些优秀的Js框架,其中比较著名的有Prototype.YUI.jQuery.mootools.Bindows ...
- Ajax异步封装
//自己封装了一个异步方法. //第一个参数:GET或者是POST,二个参数:请求的url地址, //第三个:是否异步第四个:往后台发送的Post的数据,最后一个后台返回数据之后,处理数据的回调函数. ...
- JavaSE之Java基础(1)
1.为什么重写equals还要重写hashcode 首先equals与hashcode间的关系是这样的: 1.如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相 ...
- LOJ#137. 最小瓶颈路 加强版(Kruskal重构树 rmq求LCA)
题意 三倍经验哇咔咔 #137. 最小瓶颈路 加强版 #6021. 「from CommonAnts」寻找 LCR #136. 最小瓶颈路 Sol 首先可以证明,两点之间边权最大值最小的路径一定是在最 ...
- C++ Knowledge series 2
Programming language evolves always along with Compiler's evolvement The semantics of constructors O ...
- 当尝试从ArcCatalog、.net应用或是Java应用中连接ArcGIS Server 时,显示下面任何一种错误提示: "Access Denied" 或 "The connection could not be made"
Error: 访问拒绝或无法连接错误 文章编号 : 29042 软件: ArcGIS Server 9.0, 9.1, 9.2, 9.3, 9.3.1 操作系统: Windows 2000, XP, ...