saedpooyanfar / laravel-annotation
Laravel #[Annotation]
5.0.0
2024-04-22 11:55 UTC
Requires
- php: ^8.2
Requires (Dev)
- illuminate/events: ^11.x-dev
- illuminate/routing: ^11.x-dev
- mockery/mockery: ^1.6
- phpunit/phpunit: ^10.5
README
简介
PHP 8.0 的发布是对语言的一次革命。
它带来了如 命名参数、属性、构造函数属性 等酷炫功能...
PHP 8.1 带来了更多令人兴奋的特性,如 枚举、初始化器新特性、数组解包 等...
本包的目的是在 Laravel 项目中使用 PHP 属性。
安装
composer require saeedpooyanfar/laravel-annotation
设置
在 App\Http\Controllers\Controller::class
替换 use Illuminate\Routing\Controller as BaseController;
为 use LaravelAnnotation\BaseController;
如果你不想更改你的 BaseController,你可以
使用 LaravelAnnotation\AttributeMiddleware 特性
在 App\Http\Controllers\Controller::class
中间件属性
以下是一个示例,展示了如何在 Laravel 控制器中使用 Middleware 属性
<?php use LaravelAnnotation\Attribute\Middleware; #[Middleware(RedirectIfAuthenticated::class, 'sanctum', except: 'logout')] class AuthController extends Controller { public function register() { } public function login() { } #[Middleware(Authenticate::class, 'sanctum')] public function logout() { } }