saedpooyanfar/laravel-annotation

Laravel #[Annotation]

5.0.0 2024-04-22 11:55 UTC

This package is auto-updated.

Last update: 2024-09-22 12:53:00 UTC


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()
    {
    }
}