生产环境:使用 Laravel Nightwatch 调试真实环境
本系列中,我介绍了开发中的调试——dd()、Ray、Xdebug。当你在本地计算机上构建功能和清除错误时,这些工具非常棒。但这是一个令人不安的事实:本地环境取欺骗你性能会欺骗你,因为你是唯一的用户。数据会欺骗你,因为你的测试数据是干净和可预测的。它是关于边缘情况的,因为你不可能想象真实用户会做的所有奇怪的事情。测试也会撒谎。它更接近现实,但仍然不是现实。只...
Laravel 13 升级指南
预计升级时间:10 分钟。我们力求记录所有可能导致破坏性变更(Breaking Changes)的内容。鉴于其中部分变更仅涉及框架中较为隐蔽的角落,实际上可能只有一小部分变更会真正影响到你的应用程序。为了节省时间,你可以考虑使用 Shift。Shift 是一项由社区维护的服务,能够自动完成 Laravel 的版本升级工作。利用 AI 进行升级你可以通过 Lar...
Laravel Sitemap v8 发布:自动分割,XSL 样式表及 crawler v9
Laravel Sitemap v8 版本发布。这个包可以通过爬取整个网站或手动添加网址来生成站点地图。此版本将底层爬虫升级到 v9,增加了一些不错的新功能,并清理了内部结构。接下来将详细介绍这包的功能以及 v8 版本中的新特性。通过爬取生成 Sitemap使用该包最简单的方法是将其指向你的网站,并让它抓取每个页面。use Spatie\Sitemap\Si...
适用于 PHP 和 Laravel 的 Neuron AI 框架
Neuron AI 是一个基于 PHP 的智能代理框架,用于构建可用于生产环境的 AI 驱动型应用程序。除了核心 Neuron AI 框架之外,neuron-laravel 软件包还提供了针对 Laravel 的集成点,同时又不限制对核心框架组件的访问。该软件包旨在帮助 Laravel 开发人员更轻松地使用 Neuron AI 框架进行 AI 代理开发。Ne...
Laravel 13 正式发布:新特性一览。
Laravel 13 是 Laravel 框架下的主版本,于 2026 年 3 月发布。此次发布的版本要求使用 PHP 8.3 以上版本,将遵循 Laravel 的标准支持周期,Bug 修复持续到 2027 年 Q3 季度,安全更新持续至 2028 年 Q1 季度。...
Laravel 最佳实践
Laravel 是一个旨在简化现代 Web 应用开发的强大框架。与所有框架一样,它在核心中融入了最佳实践。遵循这些指南,你能够编写更简洁的代码、减少技术债务、提升团队协作效率,并确保你的代码库符合 Laravel 的开发规范。本文将探讨这些至关重要的 Laravel 最佳实践,涵盖代码结构设计到数据库操作优化,确保你的项目保持高效且便于开发。无论你是经验丰富的...
Laravel 死锁:原因及解决方法
死锁通常出现在应用程序有足够流量、查询请求重叠时。它们很少在开发阶段出现,因此初次遇到时往往令人困惑难解。此外,死锁在本地难以复现,事后诊断更是困难重重。Laravel 在此处融入了其独特设计。该框架通过队列、Horizon、计划任务和事件分发机制简化并行工作,但这也意味着多个进程会同时操作相同数据行。本地环境中仅使用一个队列工作进程时不会暴露这些问题,但生...
Laravel Permission v7 发布
当权限在代码中定义时,Laravel 内置的授权功能非常强大。借助门控和策略,你可以编写如下逻辑:Gate::define('edit-posts', function (User $user) { return $user->is_admin; }...
整合 Gemini 的 Laravel 包
由 Hossein Hezami 开发的适用于 Laravel 的 Gemini 软件包,旨在与 Google Gemini API 集成。它支持文本、图像、视频、音频、长文本上下文、结构化输出、函数调用和理解等功能...
使用 sole() 阻止 Laravel SQL 注入
我非常喜欢在 Laravel 中使用 Eloquent 的 sole() 方法。如果结果集大于 1,它会抛出异常。这意味着你只能得到一条记录。这通常正是我想要的。除非我确实需要匹配结果集中的第一条记录,否则我已经不再使用 firstOrFail() 方法了。但我刚刚发现了另一个喜欢使用 sole 方法的理由——它有助于增加一层防止 SQL 注入的保护。让我们...