你不得不掌握的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
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!

时间: 2024-09-27 23:04:12

你不得不掌握的thinkphp5的相关文章

数据库设计时不得不违背三范式的情景

1.在进销存系统中,订单信息中关联到好多其他的基本信息,比如:客户,付款方式,货运方式等,这些信息是有专门表进行维护的,在下订单时也是用下拉框选择的,但在保存订单信息时,不能只记录所谓的外键ID,而是应该同时记录名称等其他的信息. 这是因为订单不能因为没有了客户ID或是付款方式ID而不知道客户与付款方式了.对于订单这种客观存在的事物,是具有一定的历史性质的,因此在设计时应该与其他的关联信息可以“断开”,这也就是保证了订单的独立性. 摘自:http://www.cnblogs.com/tongtk

ThinkPHP5学习笔记(6)请求和响应

在线视频课程:http://www.kancloud.cn/tpshop/thinkphp5/220692 Request请求对象和Response响应对象 $_GET.$_POST.$_REQUEST.$_COOKIE 调用请求对象$request=Request::instance() $this->request或request()->url();助手函数 input()助手函数 响应格式 json xml 模板渲染 页面跳转 重定向 $this->success $this-&g

Thinkphp5笔记一:项目部署

系统:window 7 64位 Thinkphp版本:5.0.5 环境:wampserver集成 笔记分为两大部分,配置篇与数据库篇 一.虚拟主机部署/本地部署 在网站根目录下建立文件index.php,内容如下 <?php // 定义应用目录 define('APP_PATH', __DIR__ . '/apps/'); // 加载框架引导文件 require './thinkphp/start.php'; 这样基本上就可以了,这是最简单的配置. 二.服务器部署 服务器部署项目文件入口publ

【转】 Java 进行 RSA 加解密时不得不考虑到的那些事儿

[转] Java 进行 RSA 加解密时不得不考虑到的那些事儿 1. 加密的系统不要具备解密的功能,否则 RSA 可能不太合适 公钥加密,私钥解密.加密的系统和解密的系统分开部署,加密的系统不应该同时具备解密的功能,这样即使黑客攻破了加密系统,他拿到的也只是一堆无法破解的密文数据.否则的话,你就要考虑你的场景是否有必要用 RSA 了. 2. 可以通过修改生成密钥的长度来调整密文长度 生成密文的长度等于密钥长度.密钥长度越大,生成密文的长度也就越大,加密的速度也就越慢,而密文也就越难被破解掉.著名

ThinkPHP5修改默认的程序入口

ThinkPHP5与之前的版本不同,引入的命名空间.而且在文件的目录上也发生了变化. project 应用部署目录 ├─composer.json         composer定义文件 ├─README.md             README文件 ├─build.php             自动生成定义文件(参考) ├─LICENSE.txt           授权说明文件 ├─application           应用目录(可设置) │ ├─common          

大型网站架构不得不考虑的10个问题

大型网站架构不得不考虑的10个问题 这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构.我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面对的. 这里讨论一下大型网站需要注意和考虑的问题 1.海量数据的

Thinkphp5 分页带参数

Thinkphp5 做数据搜索需要带关键词分页,如何将查询条件带入到分页中,本文详细介绍Thinkphp5 分页带参数 一.基本使用方法: $list = Db::name('user')->where('status',1)->paginate(10); 二.查看thinkphp5 paginate()函数 paginate()函数可以带三个参数: $listRows  每页数量 数组表示配置参数 $simple   是否简洁模式或者总记录数 如果为true,那么分页的就是只有上一页和下一页

ThinkPHP5 简单介绍积累

ThinkPHP5 对路由.日志.异常.数据库.模版引擎.验证等做了一些修改. 1.开发环境 PHP 5.4 上   PDO.Mbstring .CURL.PHP Extension 扩展 mysql  >5.5 apache   nginx    (内置服务) 2.安装 git  https://github.com/top-think   之所以设计为应用和核心仓库分离,是为了支持Composer单独更新核心框架. (1) 克隆 git  clone --depth=1 [email pro

服务器上部署redis并且设置远程访问(Thinkphp5项目)

lnmp.org 安装的环境, 安装redis, 只需要目录下, 进入lnmp解压后的目录,执行:./addons.sh install redis 即可. 然后开启redis. 修改配置文件./usr/local/redis/etc/redis.conf protected-mode 要设置成no daemonize yes # bind 127.0.0.1requirepass ****** 开启运行. cd /usr/local/redis/bin ./redis-server /usr/