model:show 查看模型中的第三方关联:Laravel 11.11 中的新功能
Laravel 团队发布了 v11.11,支持使用 model:show 命令显示第三方关联,新增 Collection 方法,新的缓存事件等等。before 及 after Collection 方法Ryuta Hamasaki 方法贡献 before 和 after 方法到 Collection 和 LazyCollection 实例以下是 before...
[Laravel 扩展包] Laravel Auditing: 一款强大的模型审计工具
概述Laravel Auditing 包是 Laravel 开发人员的一个强大工具,它用来确保应用中的数据安全且平稳运行。它为 Eloquent 模型提供了详细的审计功能,使开发人员能够跟踪模型中发生的每一个更改,包括记录的创建、修改和删除,以及对其属性的任何更改。该软件包具有许多有用的功能,可以轻松地自定义和控制审核过程。例如,它包含了一个允许开发人员审核...
Laravel 底层 - 扩展框架
几天前,我正在修复一个不稳定的测试,结果发现我的工厂需要一些 unique 和 valid 值。Laravel 封装了 FakerPHP,我们通常通过 fake() 助手来访问它。FakerPHP 附带了 valid() 和 unique() 等修饰符,但你一次只能使用一个,所以不能执行 fake()->unique()->valid(),这正是我...
Laravel Collection 新增的 select 方法
还记得 Laravel Collection 中 only 方法吗,它允许你从集合中检索项目子集,例如,如果有一个这样的数据数组。...
[Laravel 扩展包]Replicate Laravel PHP 客户端
Replicate Laravel 包是 Replicate API 的 PHP 客户端,Replicate API 是用于运行和微调开源 AI 模型的 API。以下是使用 Replicate Laravel 客户端的一个示例:use HalilCosdu\Replicate\Facades\Replicate; $response = Replic...
Laravel 底层 - 策略模式
策略模式是一种行为设计模式,使得算法行为可以在运行时被选择。我们将在本文中讨论策略模式,以及 Laravel 如何在幕后使用它。在 Laravel 社区中,它通常被称为 Manager 模式。我在书中也遇到过它被标记为 “Builder” 模式的情况,我不同意这一点,稍后我将解释原因。简单地说,策略模式允许你根据条件切换实现(或算法)。在我们深入研究之前,需...
[Laravel 扩展包]Laravel Honeypot(蜜罐):防止垃圾信息通过表单提交
当将表单添加到公共网站时,垃圾信息机器人可能会试图使用虚假值提交表单。幸运的是,这些机器人中的大多数都相当愚蠢。您可以通过在表单中添加一个不可见的字段来阻止其中的大多数操作,该字段在提交时永远不应该包含值。这样的字段被称为蜜罐。这些垃圾信息机器人只会填充所有字段,包括蜜罐。当提交的蜜罐字段已满时,此包将丢弃该请求。除此之外,这个包还检查提交表单所花的时间。这...
[Laravel 扩展包]Laravel Slower——使用 AI 优化 Eloquent 查询
Laravel Slower 包是为那些希望提高应用程序性能的Laravel开发人员设计的。此包识别慢速查询,并建议进行优化,如索引和其他改进。取决于你如何配置应用调度程序,你可以每天运行以下命令来分析和清理旧记录:php artisan slower:clean /*{days=15} Delete records older than 15 days....
Laravel 中将 CSV 文件作为集合读取
大型项经常需要在某个时刻从大型 CSV 文件导入数据。如果处理不当,很可能会导致内存问题。值得庆幸的是,您可以使用League 的 CS V包 方便地读取 CSV 文件,并将其作为 Laravel 的集合进行迭代。尤其是使用惰性集合。通过这种方式,可以将 CSV 文件作为集合读取,而无需将整个文件加载到内存中。首先,请使用 Composer 安装 leagu...
[Laravel 扩展包]DirectoryTree Authorization:Laravel 的原生角色和权限管理包
Steve Bauman 的 DirectoryTree Authorization 包是 Laravel 的一个简单的原生角色和权限管理系统。它使用 Laravel 的 Gate 和开箱即用的授权方法,并提供以下轻量级 API 来管理角色和权限:use DirectoryTree\Authorization\Permission; use Directo...