一个语法简洁优雅的 PHP Web 应用框架,内置路由、依赖注入、迁移、队列和事件广播等常用能力。
spatie/laravel-route-attributes
一个 Laravel 扩展包,通过在控制器上添加 PHP 8 属性即可注册路由。
- Star
- 883
- Fork
- 85
- 未关闭 Issue
- 0
- 最近提交
- 前天
这是什么?
laravel-route-attributes 让 Laravel 开发者把路由声明直接写在对应的控制器代码旁边。在控制器方法上添加 #[Get('my-route')] 这样的属性后,扩展包会自动注册等价的 Route::get 调用,无需再单独维护路由文件。
它会扫描配置的控制器目录,支持所有常见 HTTP 动词,并提供用于资源控制器的 Resource 属性以及 ApiResource 变体。属性还覆盖路由名称、中间件、前缀、域名、分组、参数约束(如 WhereUuid、WhereNumber)、默认参数值、作用域绑定以及软删除模型绑定。
目录配置可以为每个目录单独指定中间件、前缀和命名空间,适合模块化应用。通过文件匹配和排除模式,可以限定扫描范围,例如在同时存放测试的目录中只扫描控制器文件。
核心功能
- 01在控制器类和方法上使用 PHP 8 属性注册路由。
- 02支持所有标准 HTTP 动词,以及多动词和任意动词路由。
- 03Resource 和 ApiResource 属性可生成资源路由,并支持 only、except 和命名选项。
- 04提供中间件、前缀、域名、路由名称和参数约束等属性。
- 05目录配置可按目录指定中间件、前缀和命名空间。
- 06支持文件匹配与排除模式,控制扫描的文件范围。
适用场景
- 在 Laravel 应用中让路由与控制器代码保持在一起。
- 为控制器分散在不同模块目录的 Laravel 项目组织路由。
- 在控制器上直接声明资源路由,构建 REST API。
快速上手
- 1
使用 Composer 安装该包
composer require spatie/laravel-route-attributes - 2
发布配置文件
php artisan vendor:publish --provider="Spatie\RouteAttributes\RouteAttributesServiceProvider" --tag="config" - 3
在控制器类和方法上添加路由属性
收录于专题
标签
常见问题
- laravel-route-attributes 是什么?
- 一个 Laravel 扩展包,通过在控制器上添加 PHP 8 属性即可注册路由。 laravel-route-attributes 让 Laravel 开发者把路由声明直接写在对应的控制器代码旁边。在控制器方法上添加 #[Get('my-route')] 这样的属性后,扩展包会自动注册等价的 Route::get 调用,无需再单独维护路由文件。
- laravel-route-attributes 可以免费使用吗?用的什么许可证?
- laravel-route-attributes 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- laravel-route-attributes 还在维护吗?
- 活跃维护中。laravel-route-attributes 最近一次提交是在 2026年11月5日。
- laravel-route-attributes 适合用来做什么?
- 在 Laravel 应用中让路由与控制器代码保持在一起。 为控制器分散在不同模块目录的 Laravel 项目组织路由。 在控制器上直接声明资源路由,构建 REST API。
- laravel-route-attributes 怎么安装和运行?
- 使用 Composer 安装该包: composer require spatie/laravel-route-attributes 发布配置文件: php artisan vendor:publish --provider="Spatie\RouteAttributes\RouteAttributesServiceProvider" --tag="config" 在控制器类和方法上添加路由属性
- 在哪里获取 laravel-route-attributes?
- 源代码和安装说明在 GitHub 上:https://github.com/spatie/laravel-route-attributes
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3.5万1.2万PHPMIT维护活跃更新于 20小时前
轻量、快速、灵活的 PHP 全栈 Web 框架,CodeIgniter 的第 4 代完全重写版本。
6011+13 本周2008PHPMIT维护活跃更新于 20小时前
一个轻量的 Laravel 论坛扩展包,可快速为现有 Laravel 项目添加帖子、回复和分类功能。
651174PHPMIT维护活跃更新于 5天前
Laravel 多语言包,提供带语言前缀的路由、浏览器语言识别、可翻译路由及语言切换辅助方法。
3558+2 本周505PHPMIT更新于 3个月前
面向 Node.js 的快速、极简网络框架,用于构建 Web 应用和 HTTP API。
7万2.5万JavaScriptMIT更新于 5天前
基于 tower 和 hyper 的 Rust HTTP 路由与请求处理库,注重易用性与模块化。
2.8万+53 本周1619RustMIT维护活跃更新于 5天前