- 博客(148)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Laravel系列开源Dcat admin礼盒商城后台管理项目
在最近能在与某位前段大佬,合作开发一款项目,这宽项目是由laravel框架搭建使用的Dcat admin框架所制作的一个后台的管理系统,前段制作的是一款小程序,虽说后台管理系统无论是前段还是后端都是千篇一律,但内容也是非常丰富。但本项目仅作为开源学习和技术交流,仅此而已。后端语言使用的是php,laravel框架制作;前段使用的是vue,JavaScript语言。
2023-09-07 21:10:49
1104
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 PHP时间戳如何操作,以及如何拿到时间
写接口需要自己在数据库里面加token加密,但需要一等定时销毁;就需要用到时间戳了,这里我总结了一下,希望可以对各位有所帮助
2023-04-04 19:16:56
774
1
原创 电脑网络,开启vpn,加速器导致网络不可用,如何解决
大家平常玩想steam等游戏都会去开这个加速器,最近也是碰见一个问题,你开启VPN后,你可以正常的访问网址啊啥的,但是你把VPN关掉就没有办法去访问了,这里,小编为大家分析一下原因以及解决方法。
2024-01-16 08:54:07
10113
1
原创 索引的工作原理及其种类
索引是数据库优化的重要手段之一,正确使用不同类型的索引可以显著提高数据库的查询性能。在设计和使用索引时,需要根据具体的业务需求、数据量和查询。
2023-12-22 20:51:01
630
原创 视图的作用及可更改性详解
视图在数据库中扮演着重要的角色,通过提供简化的数据访问接口、隐藏表结构、提高数据安全性等功能,使得数据库系统更加灵活和安全。视图的可更改性取决于其定义和底层表的属性,可更新视图允许对其进行插入、更新、删除等修改操作,而不可更新视图则限制了这些操作。通过 CREATE OR REPLACE VIEW、ALTER VIEW、DROP VIEW 和 CREATE VIEW 等语句,可以修改视图的查询语句和结构,以适应业务需求的变化。
2023-12-22 20:36:29
1271
原创 行锁和表锁的区别?
a.锁定范围: 行锁是对表中的一行数据进行锁定,而不是锁定整个表。这意味着其他事务仍然可以访问表中的其他行,不受锁定行的影响。b.适用场景: 适用于高并发读写的情况,允许多个事务同时访问表的不同行,降低了锁的争用。
2023-12-21 20:46:19
1557
原创 B树和B+树的区别
a.B树: B树的每个节点包含键和对应的值,子节点的数量和键的数量相等。在B树中,每个节点都存储键和值,并且非叶子节点的键值对应于其子节点的范围。b.B+树: B+树的非叶子节点只包含键,而值都存储在叶子节点。所有的叶子节点通过指针连接成一个有序链表,使得范围查询更加高效。
2023-12-21 20:44:36
755
原创 GIT管理常用的基础命令
退到/进到 指定commit的sha码 git reset --hard commit_id。本地仓库推送至远程仓库 git push -u origin master。本地仓库关联远程仓库 git remote add origin。本地仓库删除关联的远程仓库 git remote remove origin。查看本地仓库关联的远程仓库: git remote -v。从本次仓库关联的远程仓库下拉 git pull。
2023-12-21 20:43:52
346
原创 浏览器输入一个url,它的解析过程
它构建DOM(文档对象模型)树,CSSOM(CSS对象模型)树,并通过JavaScript执行脚本来处理页面中的动态内容。状态码表示请求是否成功,响应头包含了关于响应的信息,响应体包含了请求的实际内容。服务器处理请求: 服务器接收到请求后,会根据请求的资源进行处理。URL解析: 浏览器首先解析URL,提取其中的协议(例如,HTTP、HTTPS)、域名和路径等信息。发送HTTP请求: 浏览器向服务器发送HTTP请求,请求包括了需要的资源路径、请求方法(GET、POST等)、头部信息等。
2023-12-21 20:42:35
482
原创 乐观锁和悲观锁的区别?
乐观锁和悲观锁是在并发控制领域常见的两种策略,它们分别适用于不同的应用场景。悲观锁在数据访问之前加锁,保证了数据的一致性,但性能开销较大;而乐观锁不加锁,通过冲突检测来提高并发性能,但需要处理数据一致性的问题。在实际应用中,选择合适的锁策略取决于具体的业务需求和系统性能要求。
2023-12-20 21:31:07
784
原创 tp中的调试模式
由于调试模式没有任何缓存,因此涉及到较多的文件IO操作和模板实时编译,所以在开启调试模式的情况下,性能会有一定的下降,但不会影响部署模式的性能。除此之外,还可以在应用的ROOT_PATH目录下面定义.env文件,并且定义APP_DEBUG配置参数用于替代入口文件的常量定义,这样便于在部署环境中设置环境变量来开启和关闭调试模式。ThinkPHP有专门为开发过程而设置的调试模式,开启调试模式后,会牺牲一定的执行效率,但带来的方便和除错功能非常值得。
2023-12-17 06:06:11
585
原创 tp中如何进行事务操作
使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。注意在事务操作的时候,确保你的数据库连接是相同的。
2023-12-17 06:03:27
405
原创 tp如何开启监听SQL
如果开启数据库的调试模式的话,你可以对数据库执行的任何SQL操作进行监听,使用如下方法。V5.0.19+版本开始,listen方法增加master参数用于标记当前的主从查询。默认如果没有注册任何监听操作的话,这些SQL执行会被根据不同的日志类型记录到日志中。
2023-12-17 05:59:19
675
原创 tp连接数据库
return [// 数据库类型// 数据库连接DSN配置// 服务器地址// 数据库名// 数据库用户名// 数据库密码// 数据库连接端口// 数据库连接参数// 数据库编码默认采用utf8// 数据库表前缀// 数据库调试模式// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)// 数据库读写是否分离 主从式有效// 读写分离后 主服务器数量// 指定从服务器序号// 是否严格检查字段是否存在// 数据库类型。
2023-12-17 05:58:01
1408
原创 讲解ThinkPHP的链式操作
用于数据绑定操作数组或多个参数comment用于SQL注释字符串force用于数据集的强制索引字符串master用于设置主服务器读取数据布尔值strict用于设置是否严格检测字段名是否存在布尔值sequence用于设置Pgsql的自增序列名字符串failException用于设置没有查询到数据是否抛出异常布尔值partition用于设置分表信息数组 字符串> 所有的连贯操作都返回当前的模型实例对象(this),其中带。用于对查询的union支持字符串、数组和对象view。用于关联查询字符串with。
2023-12-17 05:51:45
635
原创 讲解一手CSRF,如何防御CSRF
CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种网络安全漏洞,它允许攻击者通过欺骗用户在当前已登录的Web应用程序上执行未经用户授权的操作。攻击者利用用户在目标网站上已经建立的身份认证,通过伪装成合法用户的请求来执行一些敏感操作,比如修改用户密码、发起转账请求等。这种攻击利用了用户已经在某个站点登录的事实,然后试图在用户不知情的情况下,以该用户的身份执行操作。
2023-12-12 21:23:34
657
原创 Redis缓存如何设置时间?
在Redis中,你可以使用SET命令设置缓存,并使用EXPIRE命令设置key的过期时间。以下是一些基本的使用方法。
2023-12-12 21:19:47
1063
原创 ThinkPHP如何讲链接多个数据库
数据分片: 当数据量非常大时,可能需要将数据分布在不同的数据库中,以提高查询性能。这被称为数据分片,其中不同的数据库负责存储不同范围的数据。业务分离: 有时,一个大型项目可能包含多个独立但相关的子系统,每个子系统都有自己的数据库。这有助于隔离业务逻辑,使得每个子系统更容易维护和扩展。读写分离: 在高流量的应用中,可以使用多个数据库来实现读写分离,其中一个数据库负责处理写操作,而其他数据库负责处理读操作。这有助于提高系统的整体性能。遗留系统集成: 在集成或迁移过程中,可能需要与现有的遗留系统进行交互。
2023-12-09 17:21:48
1042
原创 laravel的ORM 对象关系映射
在 Laravel 中,每个数据库表对应一个模型。模型是 Eloquent ORM 的核心,它与数据库表之间建立了映射关系。// 例如,定义一个 User 模型// 指定模型对应的数据表。
2023-12-09 09:28:58
532
原创 Validate 验证规则详解
以前小编发过一篇Validate 验证规则 如何使用的,没有去将Validate 验证规则的原理应用场景,这篇文章来完善一下。不知道如何使用的朋友可以点击下面传送门。
2023-12-08 17:21:40
640
原创 php5和php7有什么区别
PHP 7允许使用 define() 函数来定义常量数组,这是PHP 5所没有的功能。这样的常量数组定义有助于提高代码的可维护性,使得相关的常量可以被组织为数组。
2023-12-06 17:09:05
1468
原创 Trie 树详解
Trie 树是一种强大的数据结构,适用于存储和搜索字符串集合。通过构建 Trie 树,可以实现高效的插入、删除、搜索等操作。其应用领域涉及文本处理、搜索引擎、网络路由等多个领域。理解 Trie 树的基本概念和操作流程,有助于更好地应用和优化算法。在实际开发中,根据具体场景和需求,可以选择不同的实现方式和优化策略。
2023-12-06 16:25:22
1171
原创 TP5使用Composer安装phpoffice/phpspreadsheet,导出Excel文件
如果你尚未安装Composer,请先安装 Composer。Composer是PHP的依赖管理工具,它可以方便地安装和管理项目中的第三方库。
2023-12-05 20:28:29
1169
原创 php使用CORS解决跨域
在上面的例子中,通过设置 Access-Control-Allow-Origin: * 头,允许所有域名访问该资源。你也可以指定特定的域名,例如 Access-Control-Allow-Origin: http://example.com。CORS 是一种由 W3C 制定的跨域资源共享标准,通过在服务器端设置 HTTP 头来实现跨域请求。
2023-12-03 10:05:15
768
原创 讲一下mysql的锁
MySQL 中的锁机制是数据库管理系统用于控制并发访问的重要组成部分。锁是一种资源访问的机制,通过它可以确保在同一时间只有一个事务能够对资源进行操作,从而维护数据的一致性和完整性。在 MySQL 中,锁主要分为共享锁(Shared Locks)和排他锁(Exclusive Locks),它们可以应用在不同的场景下以满足并发访问的要求。
2023-12-03 10:02:33
549
原创 讲一讲redis的使用
Redis(Remote Dictionary Server)是一个开源的内存数据库系统,它提供了高性能、支持多种数据结构的存储和操作,被广泛应用于缓存、消息队列、计数器、实时分析等场景。以下是Redis的使用详解,涵盖了基本概念、数据结构、常用命令以及一些最佳实践。
2023-12-03 09:58:23
872
原创 浅讲一下死锁
死锁(Deadlock)是指在多任务系统中,两个或多个进程(线程)由于竞争资源而无法继续进行下去的状态。在死锁状态下,每个进程都在等待其他进程释放其所持有的资源,而这些资源却被其他进程占用,形成一种相互等待的僵局。
2023-12-03 09:48:57
341
原创 phpoffice在tp框架中如何实现导入导出功能
请注意,以上代码中的路径和命名空间需要根据你的项目实际情况进行调整。希望这个详细的步骤对你有帮助。最后,通过访问相应的页面来上传文件进行导入或者点击导出按钮进行导出。创建一个用于上传文件的视图,可以使用元素来实现文件上传。
2023-11-30 21:50:05
758
原创 hash_hmac函数讲解
在PHP中,hash_hmac函数提供了一种简单但强大的方法来生成哈希值,并可用于验证消息的完整性和身份认证。通过指定正确的哈希算法和密钥,您可以使用此函数生成高度安全的哈希值,并在各种情况下使用它们。
2023-11-30 11:18:23
2246
原创 file_get_contents() 函数详解与使用
file_get_contents() 函数是 PHP 中一个功能丰富、易于使用的函数,可以用于文件操作和发起 HTTP 请求。通过深入理解该函数的使用方法,我们可以更高效地处理文件读取和远程资源获取任务。同时,使用上下文选项和其他相关函数,可以使 file_get_contents() 更加灵活和强大。在实际应用中,根据需求的不同,我们可以选择合适的方式来充分发挥其优势,提高代码的可维护性和效率。两个字 🐮 🍺 各位大佬来个三连支持一下。
2023-11-27 22:50:49
8937
原创 php的字符转义函数有那些,是干什么的
在 PHP 中,字符转义函数是用于处理字符串中的特殊字符,以防止这些字符被误解、滥用或引起安全问题的一组函数。这些函数的主要作用是确保在将用户提供的数据插入到数据库、构建 HTML 输出或进行其他与安全相关的操作时,不会导致潜在的安全漏洞。在以下的 2000 字的解释中,我将介绍一些常见的 PHP 字符转义函数、它们的作用以及为何在编程中使用这些函数是非常重要的。
2023-11-25 08:48:11
1245
原创 游览器缓存讲解
浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制,以便在将来的请求中能够更快地获取这些资源,减少对服务器的请求,提高页面加载速度。浏览器缓存主要涉及到两个方面:缓存控制和缓存位置。
2023-11-24 21:23:13
913
原创 PHP中isset() empty() is_null()的区别
isset()检查变量是否已设置,不关心其值是什么。empty()检查变量是否为空,包括null、空字符串、false等。is_null()检查变量的值是否为null。根据具体的需求和上下文,选择合适的函数来检查变量的状态是很重要的。通常,使用isset()来检查变量是否已设置,使用empty()来检查变量是否为空,使用is_null()来检查变量是否为null。在实际应用中,根据具体的业务逻辑和要求,选择最合适的函数来确保正确的变量检查和处理。
2023-11-20 20:18:39
554
原创 数据库索引详解
数据库索引是一种数据结构,它提供了一种快速定位和访问数据库表中特定行的方法。通过在表的一列或多列上创建索引,数据库系统可以更快地定位到满足特定条件的数据,从而提高查询性能。
2023-11-19 11:42:23
188
原创 数据库的三范式(Normalization)
数据库的三范式(Normalization)是关系数据库设计中的基本理论原则,旨在减少数据冗余和提高数据库的数据组织结构。三范式通过将数据分解为更小的表,并通过关系建立连接,使得数据库设计更加灵活、规范和容易维护。在这篇文章中,我们将详细讲解数据库的三范式及其重要性。
2023-11-19 11:38:51
596
原创 PHP字符串函数的解析
在PHP中,字符串是一种常见的数据类型,用于存储和操作文本数据。PHP提供了丰富的字符串函数,用于执行各种字符串操作,包括截取、连接、替换、搜索等。在这篇文章中,我们将深入解析一些常用的PHP字符串函数,以帮助您更好地理解它们的用途和工作原理。
2023-11-19 11:31:46
307
原创 PHP常用的数组函数
PHP是一种流行的服务器端脚本语言,广泛用于Web开发。数组是PHP中最重要且最常用的数据类型之一,它提供了许多强大的数组函数,用于在数组上执行各种操作。在本文中,我们将深入解析PHP中一些常用的数组函数,以便更好地理解它们的用途和工作原理。
2023-11-19 11:23:42
236
laravel Dcat admin 框架礼盒商城后台管理系统
2023-09-07
YII2中$.table.imageView( row ,'img')
2023-05-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人