[Laravel 扩展包]PHP DevTools 控制台
多年来,前端开发人员一直享受着基于浏览器的开发工具的奢侈,可以实时检查、调试和测试他们的 HTML、CSS 和 JavaScript。然而,由于 PHP 的服务器端特性,PHP 开发人员,特别是那些使用 Laravel 的开发人员,并没有得到同样的便利。由于 Tony Lea 创建了一个新的Chrome扩展,这种情况即将改变。此扩展利用了 Spatie 的 ...
自定义 Filament 根目录 ——避免 'Route [filament.admin.auth.login] not defined' 报错
要在 Laravel 中创建后台管理面板,Filament 将帮你大大节省很多时间。在构建 CRUD 风格的后台应用时,它提供了许多样板文件。通常情况下,Filament 将在 admin 区域(/admin 等)中运行,而主应用则在域根目录上运行。但是,如果你想让整个应用作为 Filament 应用,并在应用根目录中运行呢?更新 Filament 使之在域...
使用 LibreOffice 进行文件转换的 Laravel 包
当处理多种文件格式时,文档转换可能会很痛苦。如果你正在构建一个涉及文档转换的应用程序,它将变得更加具有挑战性。如果你要处理多种文件格式,如 .docx、.pdf、.odt 等,以及它们之间的相关转换,你可能需要使用不同的包。比如,可以使用 barryvdh/laravel-dompdf 包将 HTML 转换为 PDF,使用 phpoffice/phpword...
Laravel 访问器中的值对象及性能提升
Laravel 的 Eloquent ORM 通过内置缓存和值对象支持增强了访问器功能。这些特性能够有效地处理复杂的计算和结构化数据,同时保持干净、可维护的代码。当处理计算成本高昂的操作或需要将复杂的数据结构表示为适当的对象而不是普通数组时,这种方法被证明特别有价值。protected function complexStats(): Attribute ...
Laravel 中缺失的 owns 方法
虽然 Laravel 的 Eloquent ORM 已经相当强大且覆盖率大部分用例的基本用法,但总还是有所缺失。比如,Newton Job 最近分享了一个他在项目中使用的 owns() 方法。该方法很简单且方便。我们首先来看看这个方法:class User extends Authenticatable { /** * Determine ...
在 Laravel 中处理不匹配的路由
Laravel 的 Route::fallback 提供了一种优雅的方式来处理与任何定义的路由都不匹配的请求。你可以为遇到缺失页面的用户创建有意义的体验,而不是显示通用的 404 页面。当页面被移动或重命名,或者处理旧系统的遗留 URL 时,此功能对于保持用户参与度特别有价值。它还有助于收集缺失页面的数据,为网站的结构和内容策略提供信息。Route::fal...
基于 Laravel 的 Dimension 规则进行图像大小验证
Laravel 通过 Dimensions 规则提供了强大的图像验证功能,为应用的媒体上传提供了对图像大小和比例的精细控制。下例中的基本实现展示了规则的灵活性:use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; // Basic validation ...
如何为 Laravel 项目生成文档
在软件开发中,编写代码只是一个开始。真正使卓越项目与众不同的一点是其文档的质量。清晰、组织良好的文档不仅增强了开发人员/项目利益相关者之间的协作,还为最终用户提供了宝贵的指导,使产品更易于访问和使用。对于 Laravel 项目,无论你是在构建一个简单的应用、API 还是一个面向用户的产品,出色的文档都是必不可少的,幸运的是,有很多工具可以帮助你做到这一点。本...
一些开源和免费的 Laravel SaaS 入门套件
如果你想使用 Laravel 构建一个 SaaS 应用,你可能想考虑使用初学者工具包。入门套件可以帮助您启动项目并节省宝贵的时间。它通常具有许多大多数 SaaS 应用共有的功能,如用户身份验证、订阅计费、团队管理等。从头开始实现这些功能可能既费时又容易出错。因此,使用已经内置了这些功能的入门套件总是一个好主意。以下是我偶然发现的一些开源和免费的 Larave...
Laravel 中的智能路由检测
Laravel 的 named 方法提供了一种干净的方法来确定当前请求是否与特定路由名称匹配。这个强大的功能允许你根据当前路由执行条件逻辑,非常适合分析、导航突出显示或权限检查。当构建需要根据当前路由表现不同的组件时,这种方法变得特别有价值,而无需在整个应用中编写重复的条件检查。if ($request->route()->named('dash...