




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Thinkphp6.0框架微信小程序开发
5.6.1Thinkphp6.0框架基础
1.ThinkPHP6.0ThinkPHP是一个快速、简单、免费开源的、面向对象的轻量级国产PHP开发框架,是为了WEB应用开发而诞生的。用ThinkPHP开发项目,就想搭积木一样,非常方便,不再重复造轮子,规范开发流程、降低开发难度、提高开发效率。目前ThinkPHP最新版本是6.0。
5.6.1Thinkphp6.0框架基础
2.ThinkPHP6.0安装本教程素材库中,shop目录里已经安装好ThinkPHP6.0,在前面5.1章节中,已经把shop目录所有内容复制到d:/phpstudy_pro/www文件夹下。shop目录就是本教程的点餐小程序的项目目录。
5.6.1Thinkphp6.0框架基础
vendor目录:是存放框架源码的位置,在vendor/topthink/src/think目录下存放的就是框架源码。app目录:是应用目录,保存用户正在开发的应用。config目录:是整个框架的配置目录,该目录里的database.php文件,对数据库进行配置。public目录:WEB目录(对外访问目录)。该目录里的index.php文件是入口文件。route目录:是用户自定义的路由。controller控制器目录model模型目录common.php公共函数文件3.ThinkPHP6.0目录结构
5.6.1Thinkphp6.0框架基础
【示例5-45】在d:\phpstudy_pro\www\app\Controller\Test.php里面定义接口函数index,该函数功能是打印6个8。代码为域名index.php为入口文件,是整个Web应用的起点。Test为控制器名,即类文件名。index为操作方法名,即函数名。运行phpStudy,创建网站,域名,导入点餐数据库,启动Apache和MySQL成功。运行效果
5.6.2ThinkPHP6.0请求
当浏览器向Web服务器发出请求时,它向服务器传递了数据,也就是请求信息。在Thinkphp6.0中,获取请求对象数据,是由think\Request类负责,通过Request对象完成全局输入变量的检测、获取和安全过滤。支持$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,以及文件上传信息。要使用请求对象必须使用门面方式(think\facade\Request类负责)调用。运行phpStudy,创建网站,域名,导入点餐数据库,启动Apache和MySQL成功。
5.6.2ThinkPHP6.0请求
1.获取当前域名【示例5-46】:在d:\phpstudy_pro\www\shop\app\Controller\Test.php里面定义接口函数test1,代码运行效果
5.6.2ThinkPHP6.0请求
如果只需要获取当前请求的部分参数,采用only方法能够安全的获取需要的变量。Request::only(['参数']);2.获取部分变量示例:只获取当前请求的id变量Request::only(['id']);
5.6.3使用查询构造器操作数据库
查询构造器(querybuilder)提供方便、流畅的接口,可以有效的提高数据存取的代码清晰度和开发效率。一、查询数据1.单条数据查询find如果查询结果不存在,返回null,否则返回结果为数组。格式:Db::name('表名')->field('字段名1,字段名2...')->where('字段名','查询表达式','查询条件')->find();①数据库操作统一入口:Db::②name('表名'):用于定义要操作的数据表名称③field('字段名1,字段名2...'):设置查询字段列表④where('字段名','查询表达式','查询条件'):查询表达式为等于(=)时,可以省略等于(=)⑤在数据库配置文件database.php中,设置了数据库表前缀,在PHP代码中表名就可以不写前缀了。
5.6.3使用查询构造器操作数据库
【示例5-47】:在d:\phpstudy_pro\www\shop\app\Controller\Test.php文件里,定义接口函数demo1,查询点餐小程序shop数据库hr_goods商品表中id为1的记录,并且只查看id、title和price字段,并打印输出。商品表中数据如下图5-67所示,代码如下。运行效果代码运行phpStudy,创建网站,域名,导入点餐数据库,启动Apache和MySQL成功。
5.6.3使用查询构造器操作数据库
2.多条数据查询select【示例5-48】:定义接口函数demo2,查询点餐小程序shop数据库hr_goods商品表记录,并且按照价格降序排列,并打印输出。代码select方法查询结果是一个二维数组,如果结果不存在,返回空数组。Db::name('表名')->field('字段名1,字段名2…')->where('字段名','查询表达式','查询条件')->order('字段desc')->select();降序排列方法:order('字段desc')升序排列方法:order('字段名asc')运行phpStudy,创建网站,域名,导入点餐数据库启动Apache和MySQL成功。运行效果
5.6.3使用查询构造器操作数据库
(1)toArray()
select方法查询结果是一个数据集对象,如果需要转换为数组可以使用toArray()Db::name('表名')->field('字段名1,字段名2…')->where('字段名','查询表达式','查询条件')->order('字段desc')->select()->toArray();【示例5-49】:定义接口函数demo3,查询点餐小程序shop数据库hr_goods商品表记录,把查询结果转换成数组,并用foreach循环遍历出来。代码运行效果运行phpStudy,创建网站,域名,导入点餐数据库,启动Apache和MySQL成功。
5.6.3使用查询构造器操作数据库
(2)array_column()返回数组中某个单一列的值。
5.6.3使用查询构造器操作数据库
【示例5-50】:定义接口函数demo4,查询点餐小程序shop数据库hr_goods商品表记录,把查询结果转换成数组,取出数组中price列,用"id"列作为键名。代码如下代码运行效果运行phpStudy,创建网站,域名,导入点餐数据库.启动Apache和MySQL成功。
5.6.3使用查询构造器操作数据库
二、添加数据1.insert方法:添加一条记录insert方法添加数据成功返回添加成功的条数,通常情况返回1。Db::name('表名')->insert($data);注意:要先给$data赋值代码运行效果【示例5-51】:定义接口函数demo5,给点餐小程序shop数据库hr_goods商品表添加1条记录,添加成功,输出影响的记录数。运行phpStudy,创建网站,域名,导入点餐数据库,启动Apache和MySQL成功。
5.6.3使用查询构造器操作数据库
2.insertGetId方法:新增数据并返回主键值。Db::name('表名')->insertGetId($data);注意:要先给$data赋值【示例5-52】:定义接口函数demo6,给点餐小程序shop数据库hr_goods商品表添加1条记录,添加成功,输出影响新增记录的主键值。运行效果代码运行phpStudy,创建网站,域名,导入点餐数据库启动Apache和MySQL成功。
5.6.3使用查询构造器操作数据库
3.insertAll方法:添加多条数据,添加数据成功返回添加成功的条数Db::name('表名')->insertAll($data);注意:要先给$data赋值【示例5-53】:定义接口函数demo7,给点餐小程序shop数据库hr_goods商品表添加3条记录,添加成功,输出影响的记录数。代码运行效果运行phpStudy,创建网站,域名,导入点餐数据库。启动Apache和MySQL成功。
5.6.3使用查询构造器操作数据库
三、修改数据updateupdate方法返回影响数据的条数,如果没修改任何数据,则返回0。格式:Db::name('表名')->where(条件)->update($data);注意:要先给$data赋值【示例5-54】:定义接口函数demo8,把点餐小程序shop数据库hr_goods商品表中id为10的记录中price值改为20,修改成功,输出影响的记录数。运行效果代码运行phpStudy,创建网站,域名,导入点餐数据库。启动Apache和MySQL成功。
5.6.3使用查询构造器操作数据库
四、删除数据delete返回影响数据的条数,如果没有删除,则返回0。Db::name('表名')->where(条件)->delete();【示例5-55】:定义接口函数demo9,给点餐小程序shop数据库中hr_goods商品表中删除price字段小于30的记录,删除成功,输出影响的记录数。运行效果代码运行phpStudy,创建网站,域名,导入点餐数据库。启动Apache和MySQL成功。
5.6.4ThinkPHP6.0模型
1.ThinkPHP6.0模型的基本概念把传统的数据库进行面向对象的封装,数据库中每一个表对应一个模型类,类文件就是PHP文件,数据库表里的每一条记录对应一个模型对象,数据库表里每一个字段对应模型中的属性。可以用面向对象的方式,使用模型类来操作数据表。一张简单的表对应模型
5.6.4ThinkPHP6.0模型
2.TP6模型类的创建(1)创建一个跟控制器平级的目录,目录名:model(2)在model目录里创建模型类,模型类名必须与数据库同名,类名用驼峰法命名
5.6.4ThinkPHP6.0模型
2.TP6模型类的创建示例:创建微信小程序中订单表模型类Order示例:创建微信小程序中订单商品表模型类OrderGoods
5.6.4ThinkPHP6.0模型
3.模型关联:通过模型关联操作把数据表的关联关系对象化,避免在模型内部使用复杂的join查询和视图查询。更高效的操作数据。
h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校端午节假期安全主题班会方案
- 2025年环保产业环保政策法规与产业发展研究报告
- 创意市集与商业街区行业跨境出海项目商业计划书
- 高效能散热胶行业跨境出海项目商业计划书
- 高速电子连接器创新行业深度调研及发展项目商业计划书
- 某年度乳膏剂产业分析报告
- 高精度万用表行业跨境出海项目商业计划书
- 新能源商用车辆市场新能源电池技术发展报告:2025年应用场景技术升级
- 2025年光伏电站智能化运维安全管理与发电量增长策略分析报告
- 城市农贸市场改造项目2025年社会风险管理与应急预案报告
- 华为企业架构设计方法及实例
- 免疫学实验技术智慧树知到期末考试答案章节答案2024年哈尔滨医科大学大庆校区
- 2024年福建省泉州市惠安县综治网格员招聘173人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 《城轨通信信号基础设备应》课件-FTGS轨道电路
- 浙江省宁波市镇海区人教PEP版2022年小学毕业考试英语试卷【含答案】
- 中班语言《伞》课件
- 心悸-《中医内科学》教案
- 营区物业服务营区物业服务保密措施
- 托槽粘结医学课件
- 蓝晒创作方案
- 医院智慧后勤管理平台建设规划方案
评论
0/150
提交评论