سلام دوستان
من از لاراول 11 استفاده میکنم . با استفاده از پکیج spatie/laravel-permission میخوام دسترسی هارو تعریف کنم. مشکلم اینه که دایکیومنتش اپدیت نیست!
در دایکیونتش برای تعریف میدلویر در کنترلر اینجوری نوشته :
public function __construct()
{
$this->middleware(['role:manager','permission:publish articles|edit articles']);
// or
$this->middleware(['role_or_permission:manager|edit articles']);
// or with specific guard
$this->middleware(['role_or_permission:manager|edit articles,api']);
}
ولی در لاراول 11 برای تعریف middleware در constractor باید اینجوری بنویسی:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Routing\Controllers\Middleware;
class UserController extends Controller implements HasMiddleware
{
/**
* Get the middleware that should be assigned to the controller.
*/
public static function middleware(): array
{
return [
'auth',
new Middleware('log', only: ['index']),
new Middleware('subscribed', except: ['store']),
];
}
// ...
}
الان چجوری باید این کد دایکیونت رو به متد جدید لاراول تبدیل کنم؟ لطفا راهنمایی کنید.
لینک های مربوطه:
https://spatie.be/docs/laravel-permission/v6/basic-usage/middleware#content-controllers
https://laravel.com/docs/11.x/controllers#controller-middleware
به علیرضا فرهادی کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟