首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
thinkphp5与thinkphp3.X对比
】的更多相关文章
thinkphp5与thinkphp3.X对比
原文https://www.cnblogs.com/wupeiky/p/5850108.html 首先声明本章节并非是指导升级旧的项目到5.0,而是为了使用3.X版本的开发者更快的熟悉并上手这个全新的版本.同时也强烈建议开发者抛弃之前旧的思维模式,因为5.0是一个全新的颠覆重构版本. 需要摒弃的3.X旧思想 URL的变动 首先对3.X的不严谨给开发者们带来的不正确的引导表示歉意,在5.0版本正式废除类似/id/1方式 可以通过‘get’获取到‘id’的方法,严格来讲这样的url是不属于$_GET…
ThinkPHP5 与ThinkPHP3.2公共函数放置位置
最初使用ThinkPHP3..3的时候,我们自己定义的公共函数常常放置于 \Common\function.php 由于最近准备重新捡起微信开发,准备用ThinkPHP5进行微信公众号开发,使用到公共函数的时候,发现已经和以往有了很大的区别 ThinkPHP5 公共函数 项目公用的会放在 \application\common.php,如果是模块中的,则会放在\application\yourModules\common.php ├─application 应用目录(可设置) │ ├─commo…
写下thinkphp5和thinkphp3.2的不同
只列出一些自己的直观感受 1 引入了命令行,估计来源是laravel,前阵子刚练手完laravel5.0的系统, 感觉thinkphp5的命令行和laravel的很像 2 引入了路由,来源估计也是laravel,前阵子刚练完laravel5.0的系统, 这个引入不是说thinkphp3.2没有这个功能,是专门做了个路由的文件和laravel5.0类似 3文件的命名发生了一些变化,原来的控制器包含class名等等 4原来的配置文件是根据分组来的,现在的配置文件可以分模块,当然也可以分组 5引入co…
ThinkPHP5 与 ThinkPHP3.* 之间的使用差异
因为研究TP5时间不是很长,暂时先列以下几处差异: 1.过去的单字母函数已完全被替换掉,如下: S=>cache,C=>config,M/D=>model,U=>url,I=>input,E=>exception,L=>lang,A=>controller,R=>action 2.模版渲染:$this->display() => return view()/return $this->fetch(); 3.在model中调用自身mod…
thinkphp5和thinkphp3.2.3中URL重写出现No input file specified
查询后解决办法是打开public目录下的.htaccess文件,把:RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 改为:RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] 完整版: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d Re…
ThinkPHP5的数据操作和Thinkphp3.2.3对比小结
前言: 由于Thinkphp5和Thinkphp3.2.3的版本差距过大, 在记忆方面容易混淆. 故特意记录一下在数据操作上的对比的不同. Tp3.2.3 增:add(),addAll() 查:find(),select(),getField() 改:save(),setField(),setInc(),setDec() 注意:setInc,setDec,在TP5中被设定为助手函数可操作方法,Db类和模型都不可以 删:delete(主键),或者where()->delete() Tp5 DB类…
thinkphp5.0和thinkphp3.2的区别不同之处
先看目录结构: thinkphp 5.0的目录结构, 文档:https://www.kancloud.cn/manual/thinkphp5/118008 project 应用部署目录 ├─application 应用目录(可设置) │ ├─common 公共模块目录(可更改) │ ├─index 模块目录(可更改) │ │ ├─config.php 模块配置文件 │ │ ├─common.php 模块函数文件 │ │ ├─controller 控制器目录 │ │ ├─model 模型目录 │…
ThinkPHP3 和 ThinkPHP5 不是一个团队做的
ThinkPHP3 和 ThinkPHP5 不是一个团队做的 发现流年好幽默. 这个帖子源于一个 ThinkPHP 用户被客户投诉,然后反过来骂 ThinkPHP 垃圾. 不过最后想通了道歉. 开源需要大家一参与,不然不会进步,开源更多是大家一起学习. 这位用户在遇到问题后第一时间是抱怨,怪 ThinkPHP. 自己也修复了 Bug,但没有反馈给 ThinkPHP 官方. 但是没有提交 PR 给 ThinkPHP 官方. 最终自己又掉坑里,反过来怪 ThinkPHP 没修复 Bug. 开源最大的…
thinkphp5 yii2 laravel5.1 框架性能压测对比图
nginx+php7环境,opcache已经开启,每测试一个框架都重启服务器并且预热访问三次,压测工具ab.exe. laravel,thinkphp,yii都已关闭debug,该做的优化命令都搞了,它们输出的view都是相同的,不要怀疑哥的水平. 下面上图: 一.原生php 二.thinkphp5 三.yii2 四.laravel5.1 ps:勿喷. 点击下载自动压测脚本 下载后把后缀 .sh 去掉,此脚本用php编写而成,所以必须要php.exe解析. 个人公众号谢谢各位老铁支持 本人qq群…
ThinkPHP5.0版本和ThinkPHP3.2版本的区别
5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规则(正则定义)的方式: 主要改进如下; 增加路由变量规则: 增加组合变量支持: 增加资源路由: 增加路由分组: 增加闭包定义支持: 增加MISS路由定义: 支持URL路由规则反解析: 请求对象和响应对象 5.0新增了请求对象Request和响应对象Response,Request统一处理请求和获取请…
thinkphp3.2升级至thinkphp5.0.24
view文件 修改文件名 把tp3.2.3\app\module\view文件夹下所有文件夹拷贝至tp5\app\module\view 打开cmd命令窗口,cd至view文件夹下,执行dir /b 1.bat 使用notepad++打开1.bat,使用正则替换,将(^.*$)替换为ren $1 \L$0. 保存1.bat,双击执行 修改标签 正则: <foreach(.*)>改为{foreach$1} </foreach>改为{/foreach} 正则: <if (.*)&…
thinkphp5.0与thinkphp3.2之间的区别
5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规则(正则定义)的方式: 主要改进如下; 增加路由变量规则: 增加组合变量支持: 增加资源路由: 增加路由分组: 增加闭包定义支持: 增加MISS路由定义: 支持URL路由规则反解析: 请求对象和响应对象 5.0新增了请求对象Request和响应对象Response,Request统一处理请求和获取请…
PHPSTORM+Thinkphp3.2模板标签替换Thinkphp5.1公式
FORMAT: purpose: find: replace 替换<php>标签 <php>(.*)</php> {php}$1{/php} 替换<if > <if(.|[^>]*)> {if$1}<else/>{else /}</if>{/if} 替换<foreach> <foreach([^>]*)>([\s\S]*)</foreach> {foreach$1}$2{/f…
Thinkphp5助手函数和Thinkphp3的单字母函数对应参照表
…
TP5与TP3.X对比
首先声明本章节并非是指导升级旧的项目到5.0,而是为了使用3.X版本的开发者更快的熟悉并上手这个全新的版本.同时也强烈建议开发者抛弃之前旧的思维模式,因为5.0是一个全新的颠覆重构版本. 需要摒弃的3.X旧思想 URL的变动 首先对3.X的不严谨给开发者们带来的不正确的引导表示歉意,在5.0版本正式废除类似/id/1方式 可以通过‘get’获取到‘id’的方法,严格来讲这样的url是不属于$_GET的,现在可以通过‘param’获取,具体使用可以通过请求部分查询. 模型的变动 新版的模型查询返回…
ThinkPHP3.* 模型操作相关函数
ThinkPHP3.* 版本,大家所不熟知的,且与数据库操作相关的函数做以简单罗列: 1.getLastSql 别名 _sql (鉴于getLastSql比较常用,故出现了别名函数_sql) 2.selectAdd 添加数据到数据库,并返回添加记录,包括自增长的ID 3.buildSql 生成查询SQL,用于子查询 4.setInc 字段值增加某步长 5.setDec 字段值减少某步长 6.getField 获取某一字段的值,与ThinkPHP5中的column作用类似 7.regex 正则验证…
【thinkphp5】【THINKCMG】标签部分开发(一)
最近打算开一个自己的CMS后台轮子,框架选择了thinkphp 5 (别问我为什么选择这个框架)然后想边开发边记录一下,方便自己方便他人 进入正题 1.数据库设计 一共三张表 post文章表这个就不贴了(在这里没有使用到) 主要是以下两张 一张是存储标签的tag表, 另一张是关系表用于关联标签与文章 2.代码部分 主要我们使用到了thinkphp5的多对多关联(想详细了解的可以看这里 多对多关联) 文章表对应的模型 model/Posts.php <?php namespace app\admi…
php 微信公众号+微商城开发 基于Thinkphp3.2框架开发
说明:本教程是自己自学+自己的理解+扩展(包括学习过程中遇到的一些问题) 参考教程:麦子学院--李忠益--http://www.maiziedu.com/u/70409/ 微盟: http://www.weimob.com 用户名:**** 密码:****** 邮箱:***** 猪八戒(外包平台): http://www.zbj.com/ 微信开发者平台: http://www.henkuai.com/forum.php 微信公众号开发流程文档: http://www.cnblogs.com/t…
ThinkPHP5从零基础搭建CMS系统(一)
了解学习thinkphp5应该是2016年年底的事情,当时还没有接触过thinkphp3版本,觉得通过手册直接上手学习tp5蛮轻松的,现在从零记录下,搭建可扩展的CMS. 1.ThinkPHP环境搭建 我这边使用的是wampServer下载地址(使用phpStudy也是可以的),下载.安装(尽量不要把wamp安装在系统盘).运行. 如果80端口被占用,环境会起不来(图标显示红色或黄色),戳这里解决办法. 图标显示绿色后,在浏览器输入http://localhost(如下图示),说明环境成功运行.…
ThinkPHP5零基础搭建CMS系统(一)
了解学习thinkphp5应该是2016年年底的事情,当时还没有接触过thinkphp3版本,觉得通过手册直接上手学习tp5蛮轻松的,现在从零记录下,搭建可扩展的CMS. 1.ThinkPHP环境搭建 我这边使用的是wampServer下载地址(使用phpStudy也是可以的),下载.安装(尽量不要把wamp安装在系统盘).运行. 如果80端口被占用,环境会起不来(图标显示红色或黄色),戳这里解决办法. 图标显示绿色后,在浏览器输入http://localhost(如下图示),说明环境成功运行.…
thinkphp5的Auth权限认证实战
thinkphp5的Auth权限认证实战 一.总结 一句话总结:基于角色的权限管理(真正做一遍,就会发现很简单,不然一直都是半懂不懂的) 角色 权限 真正做一遍,就会发现很简单,不然一直都是半懂不懂的 1.Auth权限认证步骤? auth 表 界面 a.建立auth表 改auth表名 各个表字段的意思 可以在基础表的基础上增加我们需要的字段 比如排序字段,比如无限级分类的pid字段(比如规则表上面就需要) b.权限界面 用户组管理 规则管理 老师端/管理员端(管理端板块布局) 权限管理-----…
关于Thinkphp5类命名导致的“模块不存在”问题
不得不说,thinkphp5就是个十足的坑货, 在thinkphp3.2.3的基础上,函数.用法变了也就忍了, 在mac下写的一个类文件 GetRedisData.php,在mac+mamp环境下是正常运行的 但是把一模一样的文件放到centos下,tp就报错找不到类 开始我还以为是nginx才会出现这个问题,后来发现不是这样 换apache也是一样 查资料,5.0的手册上写着的“类文件采用驼峰法命名”,没错啊,"GetRedisData"这不就是驼峰法吗? 折腾了很久,无意中把文件…
Thinkphp5 微信公众号token验证不成功的原因
最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败.为此,我甚至手工写了微信提交过来的记录,如: ×tamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439 我眼睛看着验证信息没错,输出的echostr跟get提交来的一模一样,但是还是会出错.忍无可忍,一直无…
thinkphp5动态生成二维码实例总结
thinkphp5关于动态生成二维码类库总结: 遇到的最大问题如下:我想大部分人也碰到过,所有觉得有必要总结下: thinkphp5提示找不到Qrcode类,可是自己明明都放置到了,vendor 目录下面,怎么还是找不到了?是不是路径错了? 上面试根据thinkphp手册上说的加了使用命名空间,还是报错,于是我右试了下以下方式还是报错?我当时百度了看看大多数都是tp3.2的写法,千篇一律,所以觉得有必要搞定这样的问题. 这次我连vendor都加上了还是报错,用官方提供的助手函数 vendor()…
PHPUnit简介及使用(thinkphp5的单元测试安装及使用)
PHPUnit简介及使用(thinkphp5的单元测试安装及使用) 一.总结 一句话总结:直接google这个phpunit(how to use phpunit),然后去官网看使用样例和手册,那些英文和内容以看懂的,不要有抵触情绪 官网地址:https://phpunit.de/getting-started-with-phpunit.html 1.为什么要用PHPUnit? 测试性能 1.可以通过命令操控测试脚本 2.可以测试性能 3.可以测试代码覆盖率 4.可以自动化的更新测试用例的参数数…
ThinkPHP5.1的公共函数
最初使用ThinkPHP3.2.3的时候,我们自己定义的公共函数常常放置于 \Common\function.php ThinkPHP5.1 公共函数 项目公用的会放在 \application\common.php,如果是模块中的,则会放在\application\yourModules\common.php www WEB部署目录(或者子目录) ├─application 应用目录 │ ├─common 公共模块目录(可以更改) │ ├─module_name 模块目录 │ │ ├─comm…
ThinkPHP- 3.1
基础: 1. 基础概念 LAMP LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台.这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境.名字来源于每个程序的第一个字母.每个程序在所有权里都符合开放源代码标准:Linux是开放系统:Apache是最通用的网络服务器:MySQL是带有基于网络管理附加工具的关系数据库:PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效.开发者在Windows操作系统下使用这些Linux环境里的工…
ThinkPHP5 高级查询之构建分组条件
ThinkPHP5 高级查询之构建分组条件 一.在tp5中通过where方法如何构建分组条件, 例如:where user_id=$this->user_id and (status in (4,5,7) or refund_status = 2)该如何构建? 1.通过闭包查询: //1.通过闭包查询 $sql = Db::name('order') ->where('user_id',$this->user_id) ->where(function ($query){ $quer…
thinkphp5开发restful-api接口学习 笔记二
目录 第4节 为api项目搭建数据库 第5节 使用markdown书写接口文档 第6节(判断数据库中是否有此用户) 第7节 为项目配置URL 需求分析 配置主域名和二级域名 使用tp5路由进行URL解析 设置路由文件 第8节 接口安全 第9节 接口开发前的准备工作(参数过滤) 第9节 获取验证码 --- 第10节 用户注册 第11节 用户登录 第12节 用户上传头像 第13节 用户修改密码 第14节 找回密码 第15节 用户手机号/邮箱绑定 第16节 用户修改昵称 第17节 新增文章 第18节…
ThinkPHP5杂技(一)
Thinkphp5 assign 传递 " 时 ,前台收到的是 " 和ThinkPHP3.2不一样,3.2收到的是 ”,传递给js时 用的data.replace(new RegExp('"','g'),'"')替换回来貌似不好,获取值的时候可以用 {$data.abc|raw} 解决传入参数"替换"问题也就是如果前台传入的是json数据 后台用 { |raw}解决 Thinkphp5.1在部分Base.php 控制器中 \think\Re…