tp5总结(三)】的更多相关文章

1.控制器 1-1.加载页面[使用系统函数eg:http://ww:7070/tp5-2/public/admin/test/load] 1-2.加载页面[继承控制器方法eg:http://ww:7070/tp5-2/public/admin/test/load1或者2] 1-3.数据的返回格式[在config.php中设置,默认是html eg:http://ww:7070/tp5-2/public/admin/test/data] 1-4.控制器的初始化[注意:必须继承控制器 eg:http…
php控制器中的跳转: 1, header()函数是PHP中进行页面跳转的一种十分简单的方法.主要功能是将HTTP协议标头(header)输出到浏览器. header("Location: https://www.baidu.com"); exit(); 2,tp5的助手函数 url(); $url = url('module/controller/action'); /* url:tp5的助手函数,用指定的模块.控制器.方法得到一个新的url 还可以写成*/ url('/module…
在tp5中使用外部类的时候有三种方法 第一种就是通过composer下载,通过这种方式下载的外部类能够支持自动加载,我们只要在使用的时候use一下命名空间就可以使用了 比如:我们的tp5第四季项目要使用到邮件发送类PHPMailer,这个类我们可以通过composer下载到当前项目,默认会下载到vendor目录 在使用的时候只需在程序文件的开头:use PHPMailer\PHPMailer\PHPMailer;即可使用 第二种方法就是一些我们自己写的类或者是网上搜的类库文件,从composer…
在假期前就计划利用这三天时间写一个企业站,包括pc和wap,和微信公众平台 在计划时有些功能没有想好,导致后面踩了不少坑,前期计划一定要尽量做详细,表字段设计也要考虑好,不然后期开始写代码时会需要来回修改 用了两天半写了pc和wap功能,除了权限认证模块没写,其他我认为需要的都谢了,后期会把权限模块加上,进行了线上测试,没发现什么问题,微信公众平台下午不打算写了,要出去放放风,晚上看情况吧,这两天实在累得不行 总体来说收货还是挺大的,看教程跟着别人写和自己写感觉完全不一样,自己写能明白自己会有哪…
一.模型 1.定义基础模型 <?php namespace app\index\model; use think\Model; class User extends Model{ // 设置完整的数据表(包含前缀) protected $table = 'think_user'; } 在控制器里面引用 就能进行增删改查操作了 2.…
$result = Db::table('xxxxxx')   // 表名 ->alias('g') ->join('xxxxx_2 u','g.user_id = u.id') ->where('(user_id = '.$user_id.' OR puser_id = '.$user_id.') AND pay_mineral = 0')    // pay_menral为硬性条件 ->order('pdate desc') // 时间倒序 ->select();…
一.安装1.使用git或者composer(composer update)进行实时更新,区别在于git不会清空核心框架目录而composer会清空.2.使用官网打包好的TP压缩包(解压即可用)->不是实时更新更新3.国内的码云和Coding代码托管平台都有ThinkPHP5的镜像 ============================================================================================================…
tp5的获取器功能很强大,一下子就喜欢上了,你可以在模块里任意定义表里不存在的字段,在前台调用很方便.话不多说直接上demo: 1.命名规则   get + 属性名的驼峰命名+ Attr 直接就能在model里定义:(本示例在UserModel里定义的(User.php文件)) eg1: protected function getSexAttr($value) { $text = [1 => '男', 2 => '女', 3 => '未知']; return $text[$value]…
今天看到老java用的swagger提供接口,美观好用,方便维护,不是写好接口之后再写接口文档,麻烦的要死.网上找了找结合php的方法,在此记录一下,以后再开发接口就可以方便很多了. Swagger的使用目的是方便优美的呈现出接口API的各种定义, 生成API文档, 包括参数, 路径之类. 有时后端改了API的参数或者其他设置, 前端直接看这个Swagger UI就可以, 方便项目管理和团队协作. swagger-ui的原理 安装Swagger套件, 然后php文件代码里写注释, 用Swagge…
这里可以直接从第四条开始看 原文http://www.upwqy.com/details/12.html 1 文档链接 tp5路由官方文档  https://www.kancloud.cn/manual/thinkphp5/118041 2 为什么要使用路由 对于咱们的pc站来说,如果是在不是用路由的情况下,路径是很长的,看起来就很不友好, 当然啦,具体为什么要使用路由呢, 我考虑的是 第一个可读性和友好性上比较好,第二是我们隐藏了自己项目的实际路径,这会对安全性带来帮助. 这只是我个人的看法.…
问题一:致命错误: Class 'think\controller' not found 原因:controller首字母要大写 解决:use think\Controller; 问题二:html页面验证码显示不出 原因:php.ini中gd2没有开启 解决:删除注释 收获:PHP 并不仅限于创建 HTML 输出, 它也可以创建和处理包括 GIF,PNG,JPEG,WBMP 以及 XPM 在内的多种格式的图像. 更加方便的是,PHP 可以直接将图像数据流输出到浏览器.要想在 PHP 中使用图像处…
这里因为业务需要使用推送功能 uni 里面前端集成了个推 所以选择了个推来做推送. 个推的官方文档地址: http://docs.getui.com/getui/server/php/start/ 在个推官方没有找到 composer 包 只能手动的将 sdk 放到了项目中 sdk下载地址:http://www.getui.com/download/docs/getui/server/GETUI_PHP_SDK_4.1.0.0.zip (官方文档里有建议从官方文档下载) 下载解压 把它放到 项目…
http://www.thinkphp.cn/topic/52362.html Composer安装tp5教程1.下载composer先介绍几个网站Composer官网https://getcomposer.org/Composer中文网http://www.phpcomposer.com/Composer资源网https://packagist.org/我们的终极目标得到composer.phar这个文件不管用什么方法只要我们得到这个文件下载就是成功的,介绍最简单的一种给大家打开compose…
第一步: 安装compose,不赘述,安装详情可百度或查看https://pkg.phpcomposer.com/#how-to-install-composer 第二步: 通过 composer  安装ThinkPHP 5.* composer create-project topthink/think=5.0.* tp5 --prefer-dist 第三步: 给TP5 安装 migration,在项目根目录shift+右键,在当前目录打开cmd窗口,在cmd窗口输入 composer req…
前提:必需了解TP5的全局配置,扩展目录,composer,依赖注入的概念: 第一步:首先配置加载官方JSSDK类 "autoload": { "files": [], "classmap": [], "psr-4": { "Extend\\jssdk\\": "jssdk/" } } 执行:conposer update (注意保留锁文件,以免更新不要的更新) 第二步:修改类如下: &…
1.导语 1.整体的思路与编程思想(大局观.AOP面向切面编程,10-20%) 2.具体的编程知识与技巧(TP5.小程序.数据库等80%) 2.课程内容与产品技术点 1.ThinkPHP5框架 1.编写业务逻辑 2.访问数据库 3.向客户端提供数据 2.MySQL 1.数据存储 2.数据表设计 3.与业务紧密集合 3.微信 1.支付 2.善于借鉴与模仿,学习微信接口设计 4.小程序 1.直接与用户交互 2.体验很重要 3.课程流程与体系 1.服务端:ThinkPHP5+MySQL构建REST A…
一.Call to undefined function imagecreatefrompng(): LAMP环境搭建的博客,在提交内容的时候TP5框架报了一个错误,Call to undefined function imagecreatefrompng();  出现这个问题一般都是GD库未正确安装或配置,在服务器上查询是否安装输入命令: php -m grep -i gd 并没有找到GD库,原来是没有安装GD库,在centOS系统上安装GD库可以直接用yum install,命令: yum…
https://blog.csdn.net/github_37512301/article/details/75675054 一.关联模型在关系型数据库中,表之间有一对一.一对多.多对多的关系.在 TP5 中,实现了ORM (Object Relational Mapping) 的思想,通过在模型中建立模型间的关联,实现建立表与表之间的关联. 二.文章中用到的表结构 所用的数据表和数据传到了百度云 链接:http://pan.baidu.com/s/1hrXwEJa 密码:9r98 image…
一.TP5数据库操作方法 1.name()方法作用 : 指定默认的数据表名(不含前缀)示例 : Db::name(‘weiba_post’);返回 : Db对象 2.setTable()方法作用 : 指定默认数据表名(含前缀)示例 : Db::setTable(‘op_weiba_post’);返回 : Db对象 3.getTable()方法作用 : 得到当前或者指定名称的数据表(有前缀)示例 : Db::getTable(‘weiba_post’); //返回op_weiba_post,带有表…
前言: 之前所写的文件上传类通常进行考虑的是文件的类型.大小是否符合要求条件.当上传大文件时就要考虑到php的配置和服务器的配置问题.之前简单的觉得只要将php.ini中的表单上传的 大小,单脚本执行的最大时间都配 大就行了.显然这是很小白吃的做法.这样改完之后页面及服务器还是会崩溃.差不多几百兆这样吧.所以查阅资料,采用将大文件分割上传的方式来解决.这里进行记录下. 内容: 首先记录下更改文件上传大小的一些配置信息 打开php.ini file_uploads = on    //是否允许通过…
1.首先肯定得有个阿里云服务器,楼主是用来自己测试用得,所以就买了个1年得突发性实例,虽然网上都说别买这种,不过个人测试还是没有多少要求得 2.买了服务器之前可以顺带买个域名,再顺带去备案一下,阿里云里面就有链接,已备后续有用,你申请域名的时候需要本人的身份证,接下去他会免费寄给你幕布,拍个照传上去就可以了,不过就是要等很久就是了 3.要求不高,所以用宝塔安装环境,首先得安装宝塔 4.宝塔安装可以去宝塔官网,用远程连接软件连接服务器,楼主用得Xshell,连接之后直接复制宝塔安装命令即可,由于是…
https://github.com/ABCDdouyaer/tp5-1 1.下载composer 安装框架 也可以安装包或者git安装 composer create-project topthink/think tp5 --prefer-dist 2.可以更改localhost  C:\Windows\System32\drivers\etc中的hosts里面更改 3.MVC模型(M为model为数据模型[操作数据库相关数据]:V为view为视图模型:C为controller为控制器[控制网…
一.操作数据库 1.数据库连接配置 数据库默认的相关配置在项目的application\database.php中已经定义好. 只需要在模块的数据库配置文件中配置好当前模块需要连接的数据库的配置参数即可. 模块的数据库配置文件的路径为:application/index/database.php 配置参数 如:数据库名称和端口号 return [ // 数据库名 'database' => 'test', // 端口 'hostport' => 3306 ]; 2.查看数据库配置详情 打印co…
<TP5 视频教程课程内容> 一.ThinkPHP5TP5 官网基础教程, 官网手册作为参考,讲解TP5的使用方法.理解TP的用途 二.TP5大型项目实战及底层源码分析用TP5 做大型电商项目. 内容全面 涵盖知识面广 TPshop底层源码分析微信开发部分 包括TPshop项目整合到 微信商城 微信开发模块 微信公众号服务号 ,微信各个接口开发第三方接口集成部分包括TPshop用户 注册登录(接口 QQ 微信 微博 支付宝 登录接口) 选购 下单 结款(支付各种 支付宝,财富通,微信,银联等支…
及最近部署TP5遇到了很多坑,各种环境下都会出现一些问题,下面是我记录的排坑之路 先说最简单的lnmp一键安装包,我用的是1.5稳定版 安装命令:wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp(安装+编译一键搞定) 如需要安装LNMPA或LAMP,将./i…
Tp5  规则 命名规范 目录和文件名采用‘小写+下划线’,并且以小写字母开头: 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致(包括大小写): 类名和类文件名保持一致,并统一采用驼峰法命名(首字母大写) 函数 系统已经不依赖任何函数,只是对常用的操作封装提供了助手函数: 单字母函数废弃,默认系统加载助手函数,具体参考上一个章节‘助手函数’: 路由 新增三种路由访问模式 5.0版本控制器命名         Index.php 5.0在…
一.TP5数据库操作方法 1.name()方法        作用 : 指定默认的数据表名(不含前缀)        示例 : Db::name('weiba_post');        返回 : Db对象            2.setTable()方法        作用 : 指定默认数据表名(含前缀)        示例 : Db::setTable('op_weiba_post');        返回 : Db对象        3.getTable()方法        作用 :…
tp5 使用paginate分页获取数据对象之后 如何对对象进行数据添加 大家都知道,在使用tp5的paginate获取分页数据之后,得到的是一个数据对象,但有时会碰到要对数据对象进行二次加工的情况,下面是解决此类问题的方法 1.直接在查询语句中利用MySQL函数 举例一: 1.将获取到的图片由相对地址拼接上域名,形成绝对地址 $yu = YU(); return $this->field('orderid,productid,attrid,concat("'.$yu.'", l…
近来期间比较忙, 忙完之后发现最近有挺多的东西没有整理,于是乎.就将以前用到的一些小东西整理了一下. 如果对您有帮助,则是我最大的幸运. 本篇主要是说了一下整合TP5的微信公众号支付. 不过由于最近TP6已经出了,小伙伴们要记得向最新的进发哦. 好了,废话不多说了.开始. 首先呢,需要引入我们封装好的类库: 同样在 extend/ 下 因为会将支付类库放在一起,于是就在extend 文件夹下创建了一个pay文件夹用来存储所有类文件. 以下内容为wxpay类的内容: namespace pay;…
因项目需要,本来是需要对接阿里云oss,但因客户错误将云存储买成腾讯云cos,因此简单做了个对象上传使用 首先下载cos的sdk: 三种方式在文档上面都有介绍 SDK 安装有三种方式:Composer 方式.Phar 方式 和 源码方式. 本渣用的是最low 的源码方式 下载完成后解压放至TP5的第三方类库extend/下(感觉文件名太长本渣将解压后的sdk文件名改为了sdk): 然后说下腾讯云cos的配置参数: 其中SecretId和SecretKey参数在腾讯云->对象存储->秘钥管理获得…