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的更多相关文章

  1. EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。

    EpiiAdmin EpiiAdmin php开源交互性管理后台框架,基于Thinkphp5.1+Adminlte3.0+Require.js, 让复杂的交互变得更简单!Phper快速搭建交互性平台的 ...

  2. TODO:macOS上ThinkPHP5和Semantic-UI集成

    TODO:macOS上ThinkPHP5和Semantic-UI集成 1. 全局安装 (on OSX via homebrew)Composer 是 homebrew-php 项目的一部分 2. 把X ...

  3. Java的多线程机制系列:不得不提的volatile及指令重排序(happen-before)

    一.不得不提的volatile volatile是个很老的关键字,几乎伴随着JDK的诞生而诞生,我们都知道这个关键字,但又不太清楚什么时候会使用它:我们在JDK及开源框架中随处可见这个关键字,但并发专 ...

  4. ThinkPHP5 助手函数

    对于ThinkPHP5.0以前的版本,助手函数全部是单字母函数,但到ThinkPHP5之后,使用如下函数来代替单字母函数: 最常用: /** * 实例化Model * @param string $n ...

  5. 高性能PHP框架thinkphp5.0.0 Beta发布-为API开发而设计

    ThinkPHP V5.——为API开发而设计的高性能框架 ThinkPHP5..0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载 ...

  6. 吐槽THINKPHP5命令行

    thinkphp,作为国内开源框架,一直在使用和学习. 但是实在忍不住想要吐槽一下他的开发文档,和 对初学者的不友好,建议刚接触MVC思想的人 还是尽量去使用其他框架当入门. 现在来吐槽一下think ...

  7. [转] 移动前端不得不了解的HTML5 head 头标签

    HTML的头部内容特别多,有针对SEO的头部信息,也有针对移动设备的头部信息.而且各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元 素,有很多差异性.移动端的工作已经越来越成为前端工作的重要内容 ...

  8. 【thinkphp5】【THINKCMG】标签部分开发(一)

    最近打算开一个自己的CMS后台轮子,框架选择了thinkphp 5 (别问我为什么选择这个框架)然后想边开发边记录一下,方便自己方便他人 进入正题 1.数据库设计 一共三张表 post文章表这个就不贴 ...

  9. Html5_移动前端不得不了解的html5 head 头标签

    移动前端不得不了解的html5 head 头标签   本文主要内容来自一丝的常用的 HTML 头部标签和百度FEX的HTML head 头标签. 移动端的工作已经越来越成为前端工作的重要内容,除了平常 ...

随机推荐

  1. PHP jsonencode unicode 存储问题

    首先是这样的,因为输入的字符串的里面有德语的字符,如下: 当我存储到数据库之后,再用json_encode获取到数据库内的这些字符时,出问题了. 直接encode一个字符串"püüäöä&q ...

  2. 用LaTeX画树形结构

    用LaTeX画树形结构,比如:文件目录树形图,程序中函数调用关系图等. 找到的一个不错的资源: http://www.texample.net/tikz/examples/feature/trees/ ...

  3. (转)Linux命令:使用dig,nslookup命令解析域名

    Linux命令:使用dig命令解析域名 Linux下解析域名除了使用nslookup之外,开可以使用dig命令来解析域名,dig命令可以得到更多的域名信息. dig的全称是 (domain infor ...

  4. zepto.js常用操作

    zepto.js是移动端的jquery,但是并没有提供所有与jquery类似的api.Zepto设计的目的是有一个5-10k的通用库.下载并快速执行.有一个熟悉通用的API,所以你能把你主要的精力放到 ...

  5. 《C#高效编程》读书笔记13-正确的初始化静态成员变量

    在创建某个类型实例之前,就应该初始化该实例的所有静态成员变量.而C#为此提供了静态初始化器和静态构造函数. 静态构造函数是特殊的构造函数,将在其他所有方法执行之前以及变量或属性被第一次访问之前执行. ...

  6. jeecg3.8popup弹出窗口触发失去焦点事件,引发验证弹窗,影响体验问题的解决办法

    在初始化表单的代码中添加以下加粗部分,有几个popup就定义几个标志位,主要是防止第一次失去焦点时候的弹窗(此时还未来得及选择),提交表单的时候还是会正常校验的. //popup触发失去焦点事件,设置 ...

  7. HttpClient4.x工具获取如何使用

    HttpClient4.x工具可以让我们输入url,就可以请求某个页面(个人感觉挺实用的,特别是封装在代码中) 首先我们需要在maven工程中添加依赖 <dependency>       ...

  8. mybatis批量插入insert时报错

    报错信息: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确.此 RPC 请求中提供了过多的参数.最多应为2100 错误分析: 由于mybatis拼接的sql语句参数过多导致 解决办法 ...

  9. Spring文件下载

    package com.smbea.demo.controller; import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  10. Python ssh连接Linux服务器报Incompatible ssh peer (no acceptable kex algorithm) 解决方法

    python通过ssh连接linux服务器,部分服务器出现如下异常 03:50:48.725 FAIL ftp operation failed, Incompatible ssh peer (no ...