- 博客(70)
- 收藏
- 关注
原创 php回调函数(匿名)的使用
在 PHP 中,回调函数(或匿名函数)可以通过参数传递值,通常是在调用该回调时提供的。回调函数可以接收传入的值,并在其内部使用这些值。<?php/** * php回调函数(匿名)的使用 * 通过参数传递值,在函数内部调用并传递值 */function executeCallback($callback, $value) { // 调用回调函数并传递值 return $callback($value);}// 定义一个回调函数$callbackFunctio
2024-11-13 10:17:04
499
原创 swoole mysql连接池使用
并不支持连结池的功能。连结池通常是数据库连接池的一种,它能够管理多个数据库连接,避免了频繁创建和关闭连接的开销,提高了系统的性能。释放连接,以便其他协程可以使用。这样就实现了连接的复用,提高了系统的性能。在这个示例中,我们首先创建了一个PDO连接池,然后在协程中通过。来创建数据库连接,并执行SQL语句。获取一个数据库连接,执行SQL查询,并通过。在Swoole的协程环境中,可以使用。在Swoole中,可以使用。
2024-11-13 09:01:14
403
原创 PHP利用fastcgi_finish_request()函数实现异步操作
fastcgi_finish_request()下面的内容并没有输出,但是却生成了文件,如此说明了调用了fastcgi_finish_request后,客户端响应就已经结束,但与此同时服务端脚本却继续运行。这在一定程度上提高了响应速度,当然更科学的做法是:使用fastcgi_finish_request()函数集成队列消息,可以把消息异步发 送到队列。2.如果并发访问量较大,php-cgi进程数用满,新访问请求,将没有php-cgi去处理。当php运行在fastcgi模式时提供了。
2024-10-27 20:41:20
346
原创 tp8框架中有那些主要异常
以上是 ThinkPHP 8 中的一些常见异常类型。开发者可以根据具体的业务需求和错误类型,使用适当的异常类进行处理,从而提高代码的健壮性和可维护性。
2024-10-25 17:08:57
687
1
原创 tp8框架分组查询解决没有数据分组查不出来问题
在开发中,我们经常碰到据根某个字段分组查询,那个分组有6个组,但只有5个组有数据,那个没数据的分组就查不出来。这个在多表联查中就会出现。下面看一个示例:1.两个表,城市区域表,一个是用户需求表,表字段就不演示了,看懂思路就行。要查询区域对应的需求数量我原来的查法,没有查出来,看代码上面这样查只查出来了需求表有对应区域的数据,没有的就查不出来,看下面如何解决。下面是改进后的查法改进后就查出来了。就是要把需求表的条件放到join条件里一起加入到area区域表。
2024-10-22 14:55:05
278
原创 推送消息存储策略
虽然 ID 的自增特性是数据库设计中的常见做法,但在处理大量数据时,可能需要考虑其他方案来管理 ID 的增长。使用 UUID 或分区表等方法可以帮助有效管理数据,同时保持系统的性能。如果你有特定的需求或问题,请告诉我!
2024-10-21 16:31:40
819
原创 uniapp+veu3在vite.config.ts配置代理解决跨域问题
我在这里碰到一个坑,不知道为什么用域名http://locahost代理不起作用,使用http://127.0.0.1就可以。不知道是不是都是用的本地地扯的原因。前端api访问使用相对路径:前面加‘/api’
2024-10-14 18:24:41
545
原创 tp框架网络请求
获取URL的域名信息(如http://baidu.com)获取URL中的scheme参数(http或者https)获取当前URL的pathinfo信息(包含URL后缀)获取当前完整的url(包含QUERY_STRING)input()是设置和获取输入信息的核心实现函数。获取当前的请求类型(GET/POST/CLI)获取URL的访问后缀(.html或.php)对服务器端而言,指客户端发起的请求信息。获取或设置当前的请求内容content。获取或设置当前请求的环境变量信息。获取或设置当前请求的header。
2024-10-11 10:44:36
653
原创 tp8自带的文件缓存如何配置
用户可以根据实际需求选择合适的缓存驱动。文件缓存是默认的缓存方式,但用户可以通过修改配置文件来切换到其他缓存方式,例如Redis或Memcache12。文件缓存适用于单机环境下的应用,对于数据量较小且读写频率较低的应用场景,是一种简单有效的缓存方案12。 ThinkPHP6默认的缓存驱动是文件缓存,它将缓存数据存储在应用的。ThinkPHP6支持多种缓存驱动,包括文件缓存、
2024-10-10 13:55:01
858
原创 tp8 验证码如何访盗刷
在实际应用中,你需要将生成验证码的代码放到访问次数增加之前,这样才能保证在验证码有效期内正确限制访问频率。同时,你可以根据实际需求调整时间窗口和访问次数的限制。如果超出访问次数,可以选择暂时禁止验证码的访问,或者增加时间窗口。设置一个时间窗口,在这个窗口内不允许超过一定的访问次数。使用缓存来记录验证码的访问次数。
2024-10-09 21:02:19
344
原创 mysql使用sql函数对json数组的处理
但是,对于JSON数组,如果你想要获取数组中的所有元素,MySQL并没有直接的函数来返回数组中的所有元素作为单独的行。不过,你可以通过编写一个自定义的函数或使用应用程序逻辑来遍历数组。1、提取json数组的数值,如:[8000,10000],还有一种格式:["8000","10000"]MySQL从5.7版本开始增加了对JSON数据类型的支持。下面我再使用另外一种复杂的方法,在网上找的多表联查。,其中存储了要value_field字段检查的值,函数来访问JSON数据中的值。3、您可以执行以下查询来检查。
2024-09-18 13:52:05
841
原创 tp6 前端有多个类型字段要排序如何传参数
在ThinkPHP 6(简称TP6)中,如果前端有多个字段需要进行排序,你可以使用。方法结合动态参数实现。
2024-09-05 10:51:55
358
原创 uniapp css样式盒子上面的箭头样式
的顺序是从上开始,顺时针方向设置的。如果你想要向下、向左或向右的箭头,可以适当调整。在uniapp中,要创建一个盒子上面的箭头样式,可以使用CSS的伪元素。以下是一个简单的例子,展示了如何使用CSS创建一个向上的箭头。属性,可以改变箭头的大小和颜色。这里的箭头是向上的,因为。是用来创建箭头的伪元素。
2024-08-29 22:18:45
886
原创 uniapp vue3安装 uview-plus3+
注意:上面这个地方引入uview-plus会提示有错误,需要看第三步,修改env.d.ts文件。全局引入组件,不用每个文件都使用import导入了。注:依赖安装完成后需要重新启动项目才会起作用。
2024-08-28 11:21:50
1075
原创 tp6 购买商品送积分,上级也送积分,签到、推荐都送积分如何实现?
在ThinkPHP 6中实现购买商品送积分、上级也送积分、签到、推荐都送积分的功能,需要涉及后端逻辑处理、数据库设计以及可能的前端交互。
2024-08-19 15:24:30
478
原创 js原型和原型链的概念
原型和原型链是JavaScript中重要的概念,理解它们对于理解如何构建对象以及继承特性非常关键。原型:在JavaScript中,每个函数都有一个特殊的属性叫做prototype。这个属性指向一个对象,这个对象作为原型,该函数所创建的所有对象都将继承这个原型对象的属性和方法。在这个例子中,Person函数的prototype属性指向一个包含nameage和job属性的对象。当我们创建Person的新实例person1时,这个实例会从中继承这些属性。
2024-08-15 15:51:41
411
原创 vue3 模板中直接调用工具类中的函数
在Vue组件的JavaScript部分或模板中访问这个函数。或类似的方式来调用工具类中的函数。这里假设你有一个工具类。确保你的工具类函数是默认导出的,以便在。在Vue组件的模板中,你可以这样调用。在Vue 3中,你可以通过全局属性。
2024-08-15 15:37:54
333
原创 tp8 按日期分组查出数据
2. 如果数据库是普通的日期格式(如2024-01-02 01:23:50),使用mysql中的DATE_FORMAT()Windows和Linux平台中, 在SQL 语句中,关键字和函数名是不用区分字母大小写的。里时间字段都是时间戳,使用mysql中的from_unixtime()函数。
2024-08-07 15:44:25
398
原创 ThinkPHP 8框架中实现动态分页,根据是否传递了分页参数来决定是否执行分页
在ThinkPHP 8框架中实现动态分页,可以根据是否传递了分页参数来决定是否执行分页。在这个示例中,我们首先从请求中获取分页参数和每页显示条数,然后构建查询构造器。如果存在分页参数,我们使用。这样就实现了根据是否传递分页参数来动态决定是否执行分页的功能。如果没有分页参数,我们直接使用。
2024-08-07 11:11:43
725
原创 php 存储复杂的json格式查询(如:经纬度)
{"title":"澳海·文澜府","position":"112.850437,28.287553"}在开发中,有时我们可能存了一些复杂json格式不知道怎么查。一、先上表数据格式(location是possiton经纬度是一个字段以逗号分开的)以上代码具体根据你自已的业务来。本人只上传了核心的代码。1.拼接where条件sql语句。打印的sql语句如下。
2024-07-22 11:59:46
526
原创 php 根据位置的经纬度计算距离
location是位置字段,是存的json格式,其他的字段我就不截图放上来了。在开发中,我们要经常和位置打交道,要计算附近的位置、距离什么的。php代码根据自忆的的业务来。我代码没有附全,请见凉!二、下面附上php代码。上面的sql语句经纬度潜换成你自已的。
2024-07-22 11:38:48
791
原创 linux使用crontab定时执行url
在Linux操作系统中,Crontab是一个非常实用的工具,可以帮助用户定时执行任务,以达到自动化管理系统的目的。而在使用Crontab时,有时候我们可能需要让系统定时访问某个URL,以实现特定的功能或操作。本文将介绍如何使用Crontab来定时访问URL,并且探讨一些可能遇到的问题和解决方案。打开vim,按大写"A",进行编辑,用方向键可以移动到想插入的位置,插入内容后按ESC键,再按二下"Z"就保存退出了。注意:curl和wget的执行文件路径。来执行一个URL,你需要使用命令行工具如。
2024-06-11 10:40:45
416
原创 linux cron 执行url
命令指向了正确的可执行路径。这样,你设置的cron作业会每天凌晨1点自动执行指定的URL。如果你想要定期执行这个操作,可以使用。linux cron 执行url。添加一个新行来定义你的作业,使用。命令来编辑你的cron作业。在Linux中,你可以使用。
2024-06-08 15:57:49
347
原创 linux命令详解——which
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!竟然会有两个 which ,其中一个是 alias 这就是所谓的『命令别名』,意思是输入 which 会等於后面接的那串命令!中搜索指定的命令,并返回找到的第一个匹配项的完整路径。which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。-w 指定输出时栏位的宽度。
2024-06-08 15:36:47
901
原创 PHP函数大全之array_count_values()
array_count_values()函数是用于计算数组中每个值的出现次数的PHP函数,并返回一个关联数组,该数组的键表示原始数组中的唯一值,而键值表示该值在原始数组中的出现次数。
2024-06-06 17:41:06
504
原创 tp8 实现极光推送app通知和消息
极光推送是一款功能强大的消息推送服务,可以帮助开发者将消息快速、可靠地推送给移动设备和网站用户。在本教程中,我们将介绍如何使用PHP语言来实现极光推送功能
2024-06-01 11:06:40
429
原创 PHP7+ 新特性:合并运算符、太空船运算符(组合比较符)
在 PHP 7+中,引入了一个新的运算符,称为太空船运算符(Spaceship Operator)或组合比较符(Combined Comparison Operator),它使用 <=> 符号。太空船运算符的主要用途是在需要返回三个可能结果的比较函数中,特别是在数组排序和其他需要自定义比较逻辑的场景中。在 PHP 7.0 中,引入了一个新的运算符,称为 NULL 合并运算符(Null Coalescing Operator),它使用?这个运算符主要用于 usort() 和其他需要比较函数的数组排序函数。
2024-05-28 10:50:24
776
原创 TP6和tp8模型操作判断
判断find是否为空,模型使用find方法查询,如果数据不存在返回Null,判断则使用:!判断新增是否成功,使用save则无需判断,save要么成功要么报出异常;使用create则返回当前模型实例,使用->isEmpty()进行判断。判断更新是否成功,使用save则无需判断,save要么成功要么报出异常;使用update则返回当前模型实例,使用->isEmpty()进行判断。判断删除是否成功,使用delete返回布尔类型,直接进行判断。判断数组是否为空,使用->isEmpty()进行判断。
2024-05-26 21:46:50
417
原创 tp8 设置空控制器和空方法
注意:如果是多应用模式,就写在模块的控制器里面,我试了也可以,官方文档这里没说多模式的。加到BaseController里。单应用模式下,我们可以给项目定义一个Error控制器类。(1)当前类继承自BaseController。(2)当前类继承自某个公共的类。(3)当前类没有继承自任何类。
2024-05-13 21:27:49
589
原创 PHP根据指定长度分割字符串(中文)为数组
在开发过程序中,经常会碰到字符串字数会很长,我们可以把字符串根据指定的长度分割为数组。1.去掉空格、换行等特殊符号。假如变量$text长文本字符串(中文)3.根据指定长度分割字符串为数组,返回一个数组。2. 统计字符串字数。
2024-05-13 09:27:11
423
原创 PHP生成二维码【endroid/qr-code 4.x+】
网上找的大部分是4.0版本(endroid/qr-code)以下的。很多方法根本就用不了,这个是我找资料整理的,大家可以参考下,下面代码是可以直接使用的。2.使用前需要检查下是否启用了 gd2 扩展,对于 endroid/qr-code 版本选择,参考扩展包文档对 PHP 版本的要求。注意:1.使用该扩展前,先确认其 PHP 版本要求,endroid/qr-code 4.x 需要 PHP 版本 7.4+4.最后整理下输出格式,有三种输出二维码的方式,根据项目场景选择合适的方式即可。
2024-04-26 16:41:29
1571
原创 PHP利用JWT refresh_token获取新access_token
确保在实际环境中处理异常和错误,并且使用更安全的方法来生成密钥和tokens。PHP利用JWT refresh_token获取新token。在PHP中使用JWT(JSON Web Tokens)来刷新。的过期时间较长,例如7天。,如果有效,则生成一个新的。当用户登录时,生成一个。
2024-04-26 09:06:25
569
1
原创 使用TP8框架根据视频id查找所有评论和回复
在使用ThinkPHP 8(TP8)框架根据视频ID查找所有评论和回复时,你需要编写相应的控制器逻辑和模型方法来实现这一功能。的URL来获取视频ID为123的所有评论和回复了。请根据你的具体项目结构和需求调整代码和路由配置。接下来,在控制器中,你可以编写一个方法来根据视频ID查找所有评论和回复。确保你的路由配置正确,以便可以访问到这个控制器方法。模型,它们分别对应评论表和回复表。方法筛选出与该视频ID相关的所有评论,并通过。类,并且正确配置了数据表名和字段映射。方法预加载了每个评论的回复。
2024-04-18 10:55:01
473
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人