توفر حزمة spatie/laravel-activitylog
وظائف سهلة الاستخدام لتسجيل أنشطة مستخدمي تطبيقك. يمكنه أيضًا تسجيل أحداث النموذج تلقائيًا. تقوم الحزمة بتخزين كافة الأنشطة في جدول activity_log
.
فيما يلي عرض توضيحي لكيفية استخدامه:
activity ()-> log ( ' Look, I logged something ' );
يمكنك استرداد جميع الأنشطة باستخدام نموذج SpatieActivitylogModelsActivity
.
Activity:: all ();
إليك مثال أكثر تقدمًا:
activity ()
-> performedOn ( $ anEloquentModel )
-> causedBy ( $ user )
-> withProperties ([ ' customProperty ' => ' customValue ' ])
-> log ( ' Look, I logged something ' );
$ lastLoggedActivity = Activity:: all ()-> last ();
$ lastLoggedActivity -> subject ; //returns an instance of an eloquent model
$ lastLoggedActivity -> causer ; //returns an instance of your user model
$ lastLoggedActivity -> getExtraProperty ( ' customProperty ' ); //returns 'customValue'
$ lastLoggedActivity -> description ; //returns 'Look, I logged something'
فيما يلي مثال على تسجيل الأحداث.
$ newsItem -> name = ' updated name ' ;
$ newsItem -> save ();
//updating the newsItem will cause the logging of an activity
$ activity = Activity:: all ()-> last ();
$ activity -> description ; //returns 'updated'
$ activity -> subject ; //returns the instance of NewsItem that was saved
سيؤدي استدعاء $activity->changes()
إلى إرجاع هذا المصفوفة:
[
' attributes ' => [
' name ' => ' updated name ' ,
' text ' => ' Lorum ' ,
],
' old ' => [
' name ' => ' original name ' ,
' text ' => ' Lorum ' ,
],
];
نحن نستثمر الكثير من الموارد في إنشاء أفضل الحزم مفتوحة المصدر في فئتها. يمكنك دعمنا عن طريق شراء أحد منتجاتنا المدفوعة.
نحن نقدر بشدة إرسالك لنا بطاقة بريدية من مسقط رأسك، مع ذكر الحزمة (الحزم) التي تستخدمها. ستجد عنواننا على صفحة الاتصال لدينا. ننشر جميع البطاقات البريدية المستلمة على جدار البطاقات البريدية الافتراضية لدينا.
ستجد الوثائق على https://spatie.be/docs/laravel-activitylog/introduction.
تجد نفسك عالقا في استخدام الحزمة؟ العثور على خطأ؟ هل لديك أسئلة أو اقتراحات عامة لتحسين سجل النشاط؟ لا تتردد في إنشاء مشكلة على GitHub، وسنحاول معالجتها في أقرب وقت ممكن.
يمكنك تثبيت الحزمة عبر الملحن:
composer require spatie/laravel-activitylog
ستقوم الحزمة بتسجيل نفسها تلقائيًا.
يمكنك نشر الترحيل باستخدام:
php artisan vendor:publish --provider= " SpatieActivitylogActivitylogServiceProvider " --tag= " activitylog-migrations "
ملاحظة : يفترض الترحيل الافتراضي أنك تستخدم أعدادًا صحيحة لمعرفات النماذج الخاصة بك. إذا كنت تستخدم UUIDs، أو أي تنسيق آخر، فاضبط تنسيق حقلي subject_id وcauser_id في عملية الترحيل المنشورة قبل المتابعة.
بعد نشر عملية الترحيل، يمكنك إنشاء جدول activity_log
عن طريق تشغيل عمليات الترحيل:
php artisan migrate
يمكنك اختياريًا نشر ملف التكوين باستخدام:
php artisan vendor:publish --provider= " SpatieActivitylogActivitylogServiceProvider " --tag= " activitylog-config "
الرجاء مراجعة سجل التغيير لمزيد من المعلومات حول التغييرات الأخيرة.
الرجاء مراجعة الترقية للحصول على التفاصيل.
composer test
يرجى الاطلاع على المساهمة للحصول على التفاصيل.
إذا وجدت خطأً يتعلق بالأمان، فيرجى إرسال بريد إلكتروني إلى العنوان [email protected] بدلاً من استخدام أداة تعقب المشكلات.
وشكر خاص لـ Caneco على الشعار وأحمد ناجي على كل العمل الذي قام به في v4
.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.