ThinkPHP学习笔记(十六)使用视图(数据库视图)和缓存

数据库--视图 含义 理解成一张虚拟的表。 视图和表的区别 使用方式上: 二者完全相同 占用物理空间: 表是占用的;视图不占用物理空间,保存的仅仅是sql逻辑 。 视图的好处 1、sql语句提高重用性,效率高。 2、和表实现了分离,提高了安全性。 视图的创建 语法: CREATE VIEW 视图名 AS 查询语句; 视图的增删改查  1、查看视图的数据 SELECT * FROM my_v4; SELECT * FROM my_v1 WHERE last_name=‘Partners’; 2、插入视图的数据 I 阅读详情

Action

<?php
class UserViewAction extends Action{
	public function index(){
		$user=new UserViewModel();
		$list=$user->select();
		dump($list);
	}
}
?>

自定义一个viewmodel

<?php
	class UserViewModel extends ViewModel{
		public $viewFields=array(
			//设置查询的表名和字段
			'User'=>array('id','username','password'),
			//message的id重命名为mid
			//_on表示关联条件;_type表示做关联还是右关联
			'UserMessage'=>array('id'=>'mid','msg','_on'=>'User.id=UserMessage.id','_type'=>'LEFT'),
		);
	}
?>


缓存的使用:

config的配置:

//设置缓存
//file:是在runtime/temp/下的串行化的数据
//memecache:在内存之中
'DATA_CACHE_TYPE'=>'file',
'DATA_CACHE_TIME'=>'3600',
//开启HASH子目录进行缓存
'DATA_CACHE_SUBDIR'=>true,
//子目录的等级
'DATA_PATH_LEVLE'=>3,

Action

<?php
class CacheAction extends Action{
    public function index(){
    	//$cache=Cache::getInstance('缓存方式','缓存参数');
    	//使用Xcache,设置有效期60秒
    	//$cache=Cache::getInstance('Xcache',array('expace'=>60));
    	
    	//$cache->set('缓存名称','值');$cache->name='值';
    	//$value=$cache->get('缓存名称');$cache->name
    	//$cache->rm('缓存名称');unset($cache->name)
    	
    	//缓存快捷方法:S('名字','数据','时间','类型');
    	$list=S('alist');
    	if (empty($list)) {
    		echo '没有缓存啊,重新查找'.'<br>';
    		$user=new UserViewModel();
    		$list=$user->select();
    		S('alist',$list,3000);
    	}
    	
    	
    	//文件的快速缓存F('名字','数据','位置');
    	//支持创建缓存子目录F('user/data','数据');
    	
//    	dump($list);
    	$this->assign('alist',$list);
    	$this->display();
    }
}
?>

html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<volist name="alist" id="vo">
	<!--{$vo['username']}-->---<br>
</volist>
</body>
</html>



ThinkPHP支付系统商户自助进件功能与代码加密实战 在Web应用开发中,数据安全与业务流程自动化是构建可靠商业系统的基石。其核心原理在于通过严谨的代码逻辑与加密技术,确保敏感信息在传输、存储与处理过程中的机密性与完整性。这对于提升系统抗攻击能力、保护商业数据具有至关重要的技术价值,尤其在支付、电商等涉及资金与用户隐私的应用场景中。本文将聚焦于支付系统的关键模块——商户自助进件功能,深入剖析其业务流程、数据库设计及前后端交互的安全实践。针对广泛使用的ThinkPHP 3.2.3框架,文章提供了完整的控制器与模型代码实现,并重点探讨了如何利用**ionCube* 阅读详情

相关推荐

MySQL数据库基础知识6,缓存表、视图、计数器表、自定义变量

MySQL进阶实战系列,打造精品专栏。

学Java,找哪吒 4769

什么是MySQL的视图?底层原理是什么?

底层原理是,MySQL的视图本质上是一条SELECT语句,定义视图时会保存这条SELECT语句,每次查询视图时,MySQL会根据定义的SELECT语句重新执行查询,并返回结果。MySQL的视图是虚拟的表格,是基于查询结果生成的虚拟表格,具有表格的数据结构,可以像表格一样使用,可以对其进行查询、插入、更新、删除等操作。MySQL的视图并不真实存储数据,而是对查询结果进行缓存,每次查询视图时都会重新执行查询语句,因此可以减轻查询压力并提高查询效率。

长风破浪会有时的博客 459

2024广东省职业技能大赛云计算——集群部署GitLab

题目是这样的:在Kubernetes集群中新建命名空间gitlab-ci,将GitLab部署到该命名空间下,Deployment和Service名称均为gitlab,以NodePort方式将80端口对外暴露为30880,设置GitLab服务root用户的密码为admin@123,将项目包demo-2048.tar.gz导入到GitLab中并命名为demo-2048。GitLab是一个功能强大且灵活的 DevOps 平台,为开发团队和企业提供了从代码管理到持续集成、交付和部署的一整套解决方案。

kuuuugua的博客 4395

ThinkPHP框架之视图

一、视图   1、 视图组件的构成:   1) 视图类   View类 Smarty类   2) 模板   Tpl/项目/模块/***.html   视图类负责读取模板内容,并实现字符串替换,最终再输出给用户   2、 模板定义   默认的模板文件定义规则:   模板目录/[分组名/]模块名/操作名+模板后缀   TMPL_TEMPLATE_SUFFIX

jar_java的专栏 3401

把“思考”塞进 1 KB:我用纯 C 语言给单片机手搓了一个微型 Transformer 推理引擎

摘要:本文探讨了在64KB SRAM的MCU(如STM32H743)上部署精简Transformer模型的技术方案。通过将6层Transformer压缩至1层(隐藏维度128)、4-bit KV-Cache量化等优化手段,实现了240KB Flash占用和59KB RAM峰值,推理延迟184ms(400MHz Cortex-M7),准确率96.1%。关键创新包括:手工优化矩阵乘(CMSIS-NN)、查表法Softmax/LayerNorm、权重按Tile重排提升Cache命中率(60%→94%)。

qq_74383080的博客 2922

USB PD快充功率监测仪:高精度嵌入式USB电压电流测量终端

USB供电已从数据接口演进为关键电源总线,尤其在PD快充场景下,工程师亟需对5V–20V宽压范围内的实时电压、电流及瞬时功率进行精准捕获。其底层原理依赖高共模抑制比的高边电流检测与分压采样+ADC数字化处理,结合LDO低噪声供电保障模拟链路精度。该类设备的技术价值在于以低成本实现协议无关的‘电气层可视化’,规避商用ASIC测试仪的黑盒局限,支撑PD充电验证、电源设计调试与教学实验等工程实践。本文介绍的开源USB表即基于N32G430 MCU与INA199电流检测芯片,覆盖USB-C输入/输出双通道监测,具备

weixin_42174098的博客 207

thinkPHP6.0简单深入

自动加载函数 _autoload() __autoload:一个项目依赖多个框架,会报重复定义致命错误。 spl_autoload_register() spl_autoload_register:php5.3之后针对__autoload的缺陷出来的函数。 define bool define ( string $name , mixed $value [, bool $case_insensitive = false ] ) MySQL cmd密码登入 xampp中的mysql(MariaDB

qq_48307365的博客 3368

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

Thinkphp5第十六讲:视图之模板操作的内置标签

本节主要讲解视图之模板操作的内置标签,包括常用的主要标签,以及在开发项目时常用到的循环输出的几种方法。 一、主要标签 include 包含外部模板文件 load 导入资源文件(包括js/css,是import的别名) volist 循环数组数据输出 foreach 数组或对象遍历输出 for For循环 switch 分类判断 case 与switch一起使用 de...

phpzt的专栏 500

2019美亚杯团体赛刷题 部分题解(1-42、106-116)

文章目录写在前面使用工具刷题1.在黑客路由器里,有一台设备的MAC地址为00:11:6B:47:4D:55,请问它的IP地址是什么?2.在黑客路由器里,发现一设备的IP地址为192.168.0.103,请问该设备为如下哪一个:3.警方已经查证所有连接此router的设备都归黑客所有,根據黑客路由器的訊息,下列哪组(设备---ip)是错误的:4.Hacker现场检获的Windows主机硬盘已成功取证并制作成镜像Win1.E01,下列哪个是其硬盘证据文件的MD5哈希值。5.MD5hash算法会产生一个什么大小的

7ruth0hn的博客 7544

论文选题难?7种AI加持的万能选题法(全专业通用+工具实测)

AI时代学术选题新范式:7大智能方法破解研究痛点 传统选题方法面临范围失控、资料难寻、创新不足三大痛点,本文提出AI赋能的7种选题方法论: 1.现象+群体法:自动抓取热点与人群特征 2.理论+场景法:经典理论与新兴场景匹配 3.技术+问题法:前沿技术与领域痛点结合 4.对比+变量法:时空维度与变量关系分析 5.热点+理论法:事件传播与理论深挖融合 6.微调+变量法:已有选题变量置换创新 7.AI全流程法:关键要素智能迭代生成 同时警示AI使用的伦理边界,需规避虚构文献、伪造数据等风险,并提供针对本科生、研究

Conan_0728的博客 1879

ThinkPHP第十六天(redirect、join、视图模型)

1、redirect /** * Action跳转(URL重定向) 支持指定模块和延时跳转 * access protected * @param string $url 跳转的URL表达式 * @param array $params 其它URL参数 * @param integer $delay 延时跳转的时间 单位为秒 ...

weixin_30376323的博客 144

稳健自适应波束形成学习(2):自适应计算对角加载量方法——基于广义线性组合的鲁棒Capon波束形成

对于快拍数相对阵元数较小时,样本协方差矩阵不能很好对协方差矩阵进行估计。常规的对角加载量需要根据经验值或不断手动调整进行测试,没有一个明确的准则和推导。该篇介绍一种自适应计算对角加载量的方法,且能适应快拍数相对阵元数较小时的情况。均匀线阵阵元数:18;载波频率30MHz;通信信号来波方向0°、来波估计偏差0.5°;干扰来波方向30°;通信信号信噪比10dB;干扰信号信噪比60dB。也即在干扰角度生成66dB的零陷,通信信号受到16dB的衰减。

a1uajug的博客 824

ThinkPHP框架-4

二十五、分页功能

weixin_45730243的博客 506

数据治理路径之辩:从“先治后用”到“边用边治”,企业如何选择最优路径?

数据治理是企业在数智化建设中的核心挑战,主要涉及三种时序策略:先治理后使用、先用后治理和边用边治。先治理后使用强调在数据应用前建立完整的治理框架,适合高合规要求的行业,但可能响应滞后。先用后治理则优先释放数据价值,适合快速变化的业务环境,但可能累积数据质量问题。边用边治寻求动态平衡,通过持续改进实现治理与应用的同步迭代,适合复杂数据环境。技术选型决策矩阵和实施方法论提供了具体的操作指南,建议根据组织特性和业务需求选择适配方案,并通过渐进式演进路径实现治理与业务的共生演进。

石榴姐yyds 405

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

如何使用ThinkPHP框架进行验证码生成

只需要几个步骤,你就可以轻松地生成一个强大的验证码,并保护你的web应用免受恶意攻击。在用户提交表单后,我们可以使用check()方法来检查用户输入的验证码是否正确。在这里,captcha_src()是一个用于生成验证码图片URL的方法。在web开发中,我们常常使用验证码来防止恶意攻击,比如机器人攻击和垃圾信息。phpphp更改字体颜色:phpphp添加干扰线可以在一定程度上增加验证码的难度和安全性。要使用ThinkPHP框架生成验证码,首先你需要确保你的ThinkPHP版本是大于等于5.0的。

2301_78316833的博客 911

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

最新ThinkPHP5入门进阶实操视频教程 附源码

课程目录 源码 1.ThinkPhP5 视频教程课程内容(一):课程大纲.mp4 10.ThinkPhP5 视频教程(十):查询语言-上.avi 11.ThinkPhP5 视频教程(十一):查询语言下.avi 12.ThinkPhP5 视频教程(十二讲):模型和关联-上.avi 13.ThinkPhP5 视频教程(十三讲):模型和关联-下.avi 14.ThinkPhP5 视频教程(十...

weixin_46240917的博客 403

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

php 5.0入门系列教程 pdf,thinkphp5.0基础视频教程

本课程基于最新ThinkPHP5版本框架录制的视频教程, 课程通俗易懂,新手初学者一看就懂,一听就会主要内容包含: TP5 官网基础教程, 官网手册作为参考,讲解TP5的使用方法.理解TP的用途。第一讲、课程大纲第二讲、入门与安装-上第二讲、入门与安装-下第三讲、URL和路由-路由第四讲、URL和路由-URL第五讲、请求和响应-请求第六讲、请求和响应-响应第七讲、SQL追踪器第八讲、数据库-基本操...

weixin_30705133的博客 214

php一对一教学视频,ThinkPHP5基础入门视频教程 37课全 包含源码

教程简介本课程是基于最新ThinkPHP5版本框架录制的视频教程,学完本套视频教程可完全掌握全新的ThinkPHP5技术教程由TPshop团队倾力制作, 课程通俗易懂,新手初学者一看就懂,一听就会全套教程共37课,包含源码,视频高清,支持PC,手机,电视在线观看,也可下载视频该课程是站长本人在别人那里花钱购买而来(我自己也在学哈*_*)分享给互联创盟的朋友们教程截图教程目录01.ThinkPhP5...

weixin_39685024的博客 199

phpyii框架倒叙_PHP开发框架之YII框架学习——碾压ThinkPHP不是梦

前 言JRedu程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的安全性能。而PHP,号称“世界上最好用的编程语言”!自然也拥有一大群的“脑残粉”,让诸多的PHP程序猿投入到框架的开发过程中。从众所周知的ThinkPHP、PHPCMS,到时下流行的YII、Symfony、L...

weixin_39945531的博客 184

传智PHP就业班第34期经典口碑版全套视频课程

课程目录 源码 1.ThinkPhP5 视频教程课程内容(一):课程大纲.mp4 10.ThinkPhP5 视频教程(十):查询语言-上.avi 11.ThinkPhP5 视频教程(十一):查询语言下.avi 12.ThinkPhP5 视频教程(十二讲):模型和关联-上.avi 13.ThinkPhP5 视频教程(十三讲):模型和关联-下.avi 14.ThinkPhP5 视频教程(十...

qq_46240950的博客 386

php7从基础到商业实战,TP5从基础到项目实战全套

ThinkPHP5是一个全新的里程碑版本,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是WEB还是API开发),而且最好是忘记3.2版本的思维习惯,重新理解TP5。TP5.0商城实战9.ThinlPHP59.添加商品代码实现.avi8.ThinkPHP5商品模块设计.avi7.ThinkPHP5无...

weixin_39628256的博客 95

B站PHP+VUE+MYSQL项目实战——2026.1.31-2.5

后台的页面效果逻辑都是集中在这里,如果想要修改该后台的页面效果,可以使用trace找到页面所在的文件夹进行修改。(3)extend:依赖的外部扩展,将需要的插件库放到extend中,fastadmin会自动引入其中的扩展。8.admin的view下的content下添加add看可以直接复制user的edit模板,设置添加模板。(4)解决前后端分离的跨域问题:从后端解决,config.php中的允许跨域的域名下面加上网页。common:公共的逻辑,下面的model是可以用于admin等的公用的。

2302_80198272的博客 961

SQL注入实战:从CTF题目到数据库信息提取全流程解析

SQL注入是一种常见的Web安全漏洞,其核心原理在于攻击者通过构造恶意输入,使应用程序将用户数据误认为SQL指令执行,从而绕过身份验证、窃取或篡改数据库信息。理解SQL注入的技术价值在于,它不仅是网络安全攻防的基石,也是检验Web应用数据层安全性的关键指标。在CTF竞赛和渗透测试中,SQL注入常被用于获取敏感数据,例如数据库版本、表结构及存储的Flag信息。通过手工构造Payload,利用联合查询(Union Select)等技术,可以逐步探测数据库结构并提取目标数据。本文以一道典型的CTF题目为例,详细演

weixin_33895516的博客 308

SQL注入漏洞实战解析:从原理到WookTeam系统漏洞复现

SQL注入是一种常见的Web安全漏洞,其核心原理在于攻击者通过构造恶意输入,改变后端数据库查询语句的原始逻辑。这种攻击之所以能够成功,往往是因为开发人员未对用户输入进行充分的验证和过滤,直接将用户可控参数拼接到SQL语句中。从技术价值角度看,理解SQL注入不仅有助于提升系统安全性,更是掌握Web应用安全攻防的基础。在实际应用场景中,无论是企业协作系统、电商平台还是内容管理系统,只要涉及数据库交互,都可能面临SQL注入风险。本文以WookTeam团队协作系统的 `/api/users/searchinfo`

weixin_30555515的博客 430
上一篇: ThinkPHP学习笔记(十五)使用Ajax和Jquery来实现页面无刷新
下一篇: ThinkPHP学习笔记(十八)数据库表的关联操作
阳小良
博客等级 码龄17年 54粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值