Laravel advance | Laravel Macroable Response
Feb 15, 2023
- add boot method in app/Providers/AppServiceProvider.php
public function boot()
{
Response::macro('success', function ($message) {
return ['success'=>true,'message'=>$message];
});
Response::macro('fail', function ($message) {
return ['success'=>false,'message'=>$message];
});
}
2. Use:
// For Success
return response()->success('successfully send!');
// For Fail:
return response()->json(['success' => false,'message' => 'Failed']);
Output:
//success_output
{
success: true,
message: "Successfully send!"
}
//fail_output
{
"success": true,
"message": "Failed!"
}
For Multiple Macros:
- Create App\Mixins.php file.
If you need more macros then we can use mixing in app\Mixins
namespace App\Mixins;
use Illuminate\Support\Facades\Response;
class ReponseMixin
{
Response::macro('success', function ($message) {
return ['success' => true,'message' => $message];
});
Response::macro('fail', function ($message) {
return ['success' => false,'message' => $message];
});
Response::macro('data', function ($data) {
return ['success' => false,'data' => $data];
});
}
2. add boot method in app/Providers/AppServiceProvider.php
//app/Providers/AppServiceProvider.php
public function boot()
{
Response::mixin(new ReponseMixin);
}
I hope this article help you.