اذهب إلى المحتوى
  • 0

كيف يمكنني إضافة middleware في بعض الmethods في route resource

محمود موسى2

السؤال

السلام عليكم،

عندي route للفواتير 

Route::resource('invoices', 'InvoicesController');

أريد عمل middleware على بعض الmethods داخل الroute

مثال:

الmethod index بداخل الكنترولر أريد جعل لها middleware = auth أما الmethod edit أريد جعل لها middleware = edit_invoice وهكذا..

أستخدم لارافل 7 وأستخدم laratrust

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

بإمكانك تخصيص تطبيق الطبقات الوسيطة (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.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك إضافة ال 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']]);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...