رفتن به محتوای اصلی

راهنمای services های اختصاصی

سرویس لاگ - ActivityLog

تستدر نمونه زیر یک لاگ با استفاده از تمام متد های ممکن ایجاد شده است:

$log = ActivityLog::by(auth()->user())
        ->on(User::find(1))
        ->withEvent('viewed')
        ->withGroup(ActivityLogGroup::ACTION->value)
        ->withDescription('Viewed permissions list')
        ->log();

تمامی ورودی ها و متد ها اختیاری هستند و برای ایجاد لاگ ست کردن یکی از آن ها کافی است.

متد by به معنای انجام دهنده عملیات است و می تواند  null باشد، یا یک orm row object دریافت کند مانند کد زیر:

// this user
auth()->user()

// select user
User::find(1)

یا یک کلاس دریافت کند مانند:

// general Model
User::class

// controller
RoleAndPermissionController::class

 

متد on به معنای آن چیزی که عملیات روی آن انجام شده است، و رفتار و ورودی های مشابه با on دارد.

 

متد withEvent مشخص کننده عملیاتی است که انجام شده، و هر مقداری دریافت میکند اما بهتر است مقادیر کم و با معنا انتخاب شود.

 برای مثال:

  • viewed
  • created - updated - deleted

 

متد withGroup مشخص کننده گروه منطقی لاگ ها است که از Enum در مسیر app/Enums/ActivityLogGroup.php پیروی میکند و باید از همین مجموعه یک عضو انتخاب شود.

 

متد withDescription مشخص کننده توضیحات اختیاری برای لاگ در حال ایجاد است و از نوع text است.

 

در آخر با صدا زدن متد log() لاگ مدنظر ایجاد و شئ آن برگشت داده می‌شود.