[Laravel 扩展包]Laravel Firewall:防止 Laravel 应用遭受各种攻击
随着应用越来越受欢迎,它会成为各种攻击的目标。即使不那么流行,也有一些机器人会不断地在你的应用中寻找漏洞。因此,保护你的应用免受此类攻击始终是个好主意。如果你正在使用 Laravel,有一个名为 Laravel Firewall 的软件包可以帮助你做到这一点。这是 Laravel 的 WAF(Web 应用程序防火墙)。从本质上讲,它是一个包,可以帮助你保护 ...
Laravel 中验证特定时区
Laravel 提供了一个开箱即用的时区(timezone)验证规则,你用以用来验证给定的值是不是一个有效的时区。$request->validate([ 'timezone' => 'timezone', ]);不过,如果你想验证的是,给定的值是特定时区集合中的一个有效时区呢?比如,你想验证给定的值是美国可用的时区集合中的一个有效时区。...
Laravel 使用 Artisan 命令生成视图
Laravel 有多个 Artisan 命令,让你可以生成模板代码。比如,你可以通过 Artisan 命令生成控制器、模型,迁移文件。而从 Laravel 10.x 的发布开始,你可以使用 make:view Artisan 命令来生成视图文件了。我们来看看如何生成。要生成视图文件,你可以使用如下命令。php artisan make:view <vi...
[Laravel 扩展包]在 Laravel 中快速管理临时文件
我最近有一个队列作业,需要将文件临时下载到服务器,进行处理,最后清理临时文件。这在 PHP 中并不困难,你可能已经使用以下方式开始:file_put_contents('/tmp/' . $tmpFile, file_get_contents($video));要使之更能跨平台兼容,获取你可用使用 PHP 内置的 sys_get_temp_dir() 函数获...
Laravel 11 升级指南
更新依赖、应用结构、浮点型类型、修改数据库字段、SQLite 最低版本、更新 Sanctum、Carbon 3、密码重新哈希、按秒限流、移除 Doctrine DBAL、Eloquent 模型的 casts 方法、Spatial 类型、Spatie Once 包、Enumerable Contract、UserProvider Contract、...
Laravel 11 精简配置文件
Laravel 11 中,我最喜欢的功能之一是精简的配置文件。在 Laravel 11 的开发过程中,所有配置文件都从默认的 Laravel 安装中删除。然而,在发布前几周,Taylor 决定在默认的 Laravel 安装中重新包含精简版的配置文件,但保留了删除任何不需要的文件或选项的选项。让我们更深入地了解这是如何避免错误并获得尽可能精简的应用程序的。毕竟...
在 Filament 中使用 Apex Chart 插件创建优美图表
Leandro Ferreira 的 Filament Apex Charts 插件将流行的 Apex Chart 库带到你的 Laravel 应用中。该插件使用与 Apex Chart 库相同的 API,因此可以使用官方文档作为配置参考,在 Filament 中创建图表,就像在 JS 库中一样。该软件包还支持过滤 widget 数据、实时更新(轮询)、延迟...
在 Laravel 中使用 Google 的 Gemini AI
在带有 Gemini PHP 包的 Laravel 程序中开始使用谷歌的 Gemini AI API。这个 Laravel 包是围绕 Gemini PHP 客户端构建的,提供了一个与 API 和 AI 模型交互的 Facade:use Gemini\Laravel\Facades\Gemini; $result = Gemini::geminiPro...
[Laravel 扩展包]RBAC 权限管理包 Laravel Permission
简介spatie/laravel-permission 是一个由 Spatie 出品的基于 RBAC(Role-Based Access Control) 基于角色的访问控制权限管理包。该包用于管理用户权限和角色。安装通过 Composer 进行安装composer require spatie/laravel-permission安装完成后,你可以这样使用...
Repositories 及其真实意图
由于使用了 Repository 模式,你已经替换了多少次底层数据库实现?这就是为什么,在这篇博文中,我想进一步澄清这个完全被误解的软件设计模式,以及为什么反对使用它的第一个论点(上面的问题)实际上是微不足道的,几乎无关紧要。定义 Repository首先,让我们从定义 Repository 实际是什么开始。Repository 模式在 PoEAA 中定义如...
