Laravel #[Annotation]
Introduction
PHP 8.0 release was a revolution for the language.
It brings cool features like Named arguments
, Attributes
, Constructor property
and ...
PHP 8.1 brings even more exciting features like Enumerations
, New in initializers
, Array unpacking
and ...
The idea of this package is using PHP Attribute
in a laravel project.
Installing
composer require saeedpooyanfar/laravel-annotation
Setup
In App\Http\Controllers\Controller::class
:
Replace use Illuminate\Routing\Controller as BaseController;
With use LaravelAnnotation\BaseController;
Middleware attribute
Here is an example that how you can use Middleware
attribute in a laravel controller:
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()
{
}
}