فرعوني
جاري التحميل...

الشروع في العمل

Jsonable

# لماذا Jsonable؟

Jsonable هي حزمة تساعد في عرض الاستجابات والاستثناءات في شكل JSON لـ Laravel.

# التنصيب

قم بتنصيب اخر اصدار بواسطة Composer.

1composer require pharaonic/laravel-jsonable

# طلب / مورد

يمكنك إنشاء jsonable طلب.

1php artisan jsonable:request [request-name]

ولو حدث أي خطأ فستكون الاستجابة بشكل منسق كالتالي :

1{
2 "success": false,
3 "code": "MIE-001",
4 "message": null,
5 "errors": [
6 {
7 "key": "title",
8 "value": "The title field is required."
9 }
10 ]
11}

يمكنك إنشاء jsonable مورد.

1php artisan jsonable:resource [resource-name]

والاستجابة ستكون منسقة بهذ الشكل :

1{
2 "success": true,
3 "message": "Testing Jsonable Resource",
4 "data": [
5 {
6 "id": 7,
7 "title": "Pharaonic",
8 "description": "Pharaonic",
9 "keywords": [
10 "Pharaonic"
11 ],
12 "content": "Pharaonic",
13 "user_id": 7,
14 "created_at": "2022-03-07T07:21:07.000000Z",
15 "updated_at": "2022-03-07T07:21:07.000000Z"
16 }
17 ]
18}

# الاستجابات

يمكنك إرسال استجابه jsonable (success, error and exception) بواسطة helper أو facade.

1json()->success(array $data, ?string $message = null, ?array $extra = [], int $status = 200, array $headers = []);
2Json::success(...); // Facade
3 
4json()->errors(array $errors, ?string $code, ?string $message = null, ?array $extra = [], int $status = 400, array $headers = []);
5Json::errors(...); // Facade
6 
7json()->exception(\Throwable $exception, ?string $code = null, ?string $message = null, ?array $extra = [], int $status = 400, array $headers = []);
8Json::exception(...); // Facade

# الاستثناءات

يمكنك التعامل مع الاستثناءات على مستوى المشروع كله بخطوة واحدة, قم بتبديل ExceptionsHandler بالخاص بـ Jsonable.

1namespace App\Exceptions;
2 
3use Illuminate\Foundation\Exceptions\Handler as ExceptionsHandler;
4use Pharaonic\Laravel\Jsonable\Exceptions\ExceptionHandler;
5use Throwable;
6 
7class Handler extends ExceptionsHandler
8class Handler extends ExceptionHandler
9{
10 ...
11}