احصل على رؤى حول مشروع Laravel أو Lumen الخاص بك.
أسهل طريقة لتثبيت الحزمة هي باستخدام الملحن.
composer require " wnx/laravel-stats " --dev
ستقوم الحزمة بتسجيل نفسها تلقائيًا.
إذا كنت تستخدم Lumen، فيجب عليك تسجيل مقدم الخدمة يدويًا في ملف bootstrap/app.php
الخاص بك:
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
اختياريًا، يمكنك نشر ملف التكوين في تطبيقات Laravel باستخدام الأمر التالي:
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
بعد التثبيت، يمكنك إنشاء الإحصائيات عن طريق تشغيل Artisan Command التالي.
php artisan stats
(تأكد من تشغيل php artisan config:clear
قبل تشغيل الأمر أعلاه.)
الإحصائيات متاحة أيضًا بتنسيق JSON.
php artisan stats --json
إذا كنت تريد تقريرًا أكثر تفصيلاً ومعرفة الفئات التي تم تجميعها في أي مكون، فيمكنك استخدام الخيار --verbose
-.
php artisan stats --verbose
يتوفر الخيار المطول لتنسيق JSON أيضًا.
php artisan stats --json --verbose
ملاحظة: إذا كان مشروعك يستخدم Pest PHP لكتابة الاختبارات، فسيتم استبعاد هذه الملفات تلقائيًا من الإحصائيات. نظرًا لكيفية عمل "laravel-stats" داخليًا، لا يمكن حاليًا اكتشاف اختبارات Pest PHP. انظر رقم 194 لمزيد من المعلومات.
تقوم الحزمة بفحص الملفات المحددة في صفيف paths
في ملف التكوين. ثم يتم تطبيق المصنفات على تلك الفئات لتحديد مكون Laravel الذي تمثله الفئة.
عنصر | تصنيف |
---|---|
مكونات لايف واير | يجب تمديد LivewireComponent |
المراقب المالي | يجب أن تكون مسجلاً في طريق ولا يمتد LivewireComponent |
نموذج | يجب أن يمتد IlluminateDatabaseEloquentModel |
يأمر | يجب أن يمتد IlluminateConsoleCommand |
قاعدة | يجب تمديد IlluminateContractsValidationRule |
سياسة | يجب أن تكون السياسة مسجلة في AuthServiceProvider الخاص بك |
الوسيطة | يجب أن تكون البرامج الوسيطة مسجلة في Http-Kernel |
حدث | يجب استخدام IlluminateFoundationEventsDispatchable -Trait |
مستمع الحدث | يجب التسجيل لحدث في EventServiceProvider |
بريد | يجب أن يمتد IlluminateMailMailable |
إشعار | يجب أن يمتد IlluminateNotificationsNotification |
نوفا اكشن | يجب أن يمتد LaravelNovaActionsAction |
لوحة تحكم نوفا | يجب تمديد LaravelNovaDashboard |
فلتر نوفا | يجب تمديد LaravelNovaFiltersFilter |
نوفا لينس | يجب أن يمتد LaravelNovaLensesLens |
نوفا الموارد | يجب أن يمتد LaravelNovaResource |
وظيفة | يجب استخدام IlluminateFoundationBusDispatchable -Trait |
الهجرة | يجب أن يمتد IlluminateDatabaseMigrationsMigration |
طلب | يجب أن يمتد IlluminateFoundationHttpFormRequest |
الموارد | يجب تمديد IlluminateHttpResourcesJsonJsonResource أو IlluminateHttpResourcesJsonResourceCollection |
بزار | يجب تمديد IlluminateDatabaseSeeder |
مقدم الخدمة | يجب تمديد IlluminateSupportServiceProvider |
مكونات الشفرة | يجب أن يمتد IlluminateViewComponent |
قوالب مخصصة | يجب تنفيذ IlluminateContractsDatabaseEloquentCastsAttributes أو IlluminateContractsDatabaseEloquentCastsInboundAttributes |
مصنع قواعد البيانات | يجب أن يمتد IlluminateDatabaseEloquentFactory |
اختبارات الغسق | يجب تمديد LaravelDuskTestCase |
اختبار متصفح كيت | يجب تمديد LaravelBrowserKitTestingTestCase |
اختبار PHPUnit | يجب توسيع PHPUnitFrameworkTestCase |
إذا كان تطبيقك يحتوي على مكوناته الخاصة التي ترغب في رؤيتها في laravel-stats
فيمكنك إنشاء "المصنفات" الخاصة بك. قم بإنشاء المصنفات الخاصة بك عن طريق تنفيذ عقد Classifier
وإضافة الفئة إلى صفيف التكوين stats.custom_component_classifier
.
على سبيل المثال:
// app/Classifiers/RepositoryClassifier.php
<?php
namespace App Classifiers ;
use Wnx LaravelStats ReflectionClass ;
use Wnx LaravelStats Contracts Classifier ;
class RepositoryClassifier implements Classifier
{
public function name (): string
{
return ' Repositories ' ;
}
public function satisfies ( ReflectionClass $ class ): bool
{
return $ class -> isSubclassOf ( App Repositories BaseRepository::class);
}
public function countsTowardsApplicationCode (): bool
{
return true ;
}
public function countsTowardsTests (): bool
{
return false ;
}
}
// config/stats.php
<?php
. . .
' custom_component_classifier ' => [
App Classifiers RepositoryClassifier::class
],
...
أنت حر في استخدام هذه الحزمة، ولكن إذا وصلت إلى بيئة الإنتاج الخاصة بك، فيجب عليك شراء شجرة للعالم.
أصبح من المعروف الآن أن إحدى أفضل الأدوات لمعالجة أزمة المناخ والحفاظ على درجات الحرارة من الارتفاع فوق 1.5 درجة مئوية هي زراعة الأشجار. إذا قمت بدعم هذه الحزمة والمساهمة في غابة Treeware، فسوف تقوم بإنشاء فرص عمل للعائلات المحلية واستعادة موائل الحياة البرية.
يمكنك شراء الأشجار من هنا offset.earth/treeware
اقرأ المزيد عن Treeware على موقع Treeware.earth
تحتوي الحزمة على اختبارات مكتوبة بلغة phpunit. يمكنك تشغيلها باستخدام الأمر التالي.
./vendor/bin/phpunit
إذا كنت تعمل على الحزمة محليًا وتريد فقط تشغيل الأمر في مشروع تجريبي، فيمكنك استخدام تنسيق مستودع مسار الملحن. أضف المقتطف التالي إلى composer.json
في مشروعك التجريبي.
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
و"تثبيت" الحزمة باستخدام composer require wnx/laravel-stats
. يجب الآن ربط الحزمة في مشروعك التجريبي.
نحن نستخدم SemVer للإصدار. للتعرف على الإصدارات المتاحة، راجع العلامات الموجودة في هذا المستودع.
هذا المشروع مرخص بموجب ترخيص MIT - راجع ملف الترخيص للحصول على التفاصيل.