محمود موسى2 نشر 8 مايو 2021 أرسل تقرير نشر 8 مايو 2021 السلام عليكم، عندي route للفواتير Route::resource('invoices', 'InvoicesController'); أريد عمل middleware على بعض الmethods داخل الroute مثال: الmethod index بداخل الكنترولر أريد جعل لها middleware = auth أما الmethod edit أريد جعل لها middleware = edit_invoice وهكذا.. أستخدم لارافل 7 وأستخدم laratrust 1 اقتباس
0 محمد صقر3 نشر 8 مايو 2021 أرسل تقرير نشر 8 مايو 2021 يمكنك إضافة ال middlewares داخل constructor in controller // إضافة auth to index route only $this->middleware('auth', ['only' => ['index']]); // إضافة edit_invoice for edit invoide $this->middleware('edit_invoice', ['only' => ['edit', 'update']]); 2 اقتباس
1 سمير عبود نشر 8 مايو 2021 أرسل تقرير نشر 8 مايو 2021 بإمكانك تخصيص تطبيق الطبقات الوسيطة (middlewares) في المتحكم و ذلك في الباني الخاص به مثال: <?php class DiscountController extends Controller { public function __construct() { $this->middleware('permission:read discount codes')->only('index'); $this->middleware('permission:add discount code')->only(['create', 'store']); $this->middleware('permission:edit discount code')->only(['edit', 'update']); $this->middleware('permission:delete discount code')->only('destroy'); } } مثلاً أنت تريد تطبيق الmiddleware auth على index فقط فتقوم بالتالي: $this->middleware('auth')->only('index'); و إن كنت تريد تطبيق أكثر من middleware على نفس التابع يُمكنك تمريرها على شكل مصفوفة: $this->middleware(['auth', 'middl2'])->only('index'); بطريقة عكسية للتابع only هناك تابع آخر يُسمى except و هو يعمل بعكس only. 2 اقتباس
السؤال
محمود موسى2
السلام عليكم،
عندي route للفواتير
أريد عمل middleware على بعض الmethods داخل الroute
مثال:
الmethod index بداخل الكنترولر أريد جعل لها middleware = auth أما الmethod edit أريد جعل لها middleware = edit_invoice وهكذا..
أستخدم لارافل 7 وأستخدم laratrust
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.