PHPackages                             ehsandevs/bresources - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ehsandevs/bresources

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ehsandevs/bresources
====================

Behamin basic and standard api response format for laravel

v2.4.1(1y ago)061MITPHPPHP ^7.4 || ^8.0

Since Jan 5Pushed 1y agoCompare

[ Source](https://github.com/ehsandevs/bresources)[ Packagist](https://packagist.org/packages/ehsandevs/bresources)[ Docs](https://github.com/omalizadeh/bresources)[ RSS](/packages/ehsandevs-bresources/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (3)Used By (1)

[![License](https://camo.githubusercontent.com/acd86d6c2ab8559174c8bd39bb271ee94b81a6c0cb329dc5dd0542473aa56a89/68747470733a2f2f706f7365722e707567782e6f72672f626568616d696e2f627265736f75726365732f6c6963656e7365)](//packagist.org/packages/behamin/bresources)[![Tests](https://github.com/omalizadeh/bresources/actions/workflows/tests.yml/badge.svg)](https://github.com/omalizadeh/bresources/actions/workflows/tests.yml)[![Latest Stable Version](https://camo.githubusercontent.com/ae635cb92ce6567d2dab744a4a5beb2d23bcc5712fb0228c70e08e070ee6024f/68747470733a2f2f706f7365722e707567782e6f72672f626568616d696e2f627265736f75726365732f76)](//packagist.org/packages/behamin/bresources)[![Total Downloads](https://camo.githubusercontent.com/3f9858aa80d33168de4b3d4b89efaa995b2d3d4aea8478f7fbe5fe6fc0aec891/68747470733a2f2f706f7365722e707567782e6f72672f626568616d696e2f627265736f75726365732f646f776e6c6f616473)](//packagist.org/packages/behamin/bresources)

Behamin Resources
=================

[](#behamin-resources)

Behamin standard formats for api responses.

Installation
------------

[](#installation)

```
composer require behamin/bresources
```

Output Format
-------------

[](#output-format)

Resources:

```
{
    "data": {
        "id": 1,
        "email": "test@test.com"
    },
    "message": "message",
    "error": {
        "message": "or error message",
        "errors": null
    }
}
```

ResourceCollection:

```
{
    "data": {
        "items": [],
        "count": 0,
        "sum": null
    },
    "message": null,
    "error": {
        "message": null,
        "errors": null
    }
}
```

On validation error for requests (with 422 status code):

```
{
    "data": null,
    "message": null,
    "error": {
        "message": "first error message in message bag",
        "errors": {
            "password": [
                "password field is required."
            ]
        }
    }
}
```

Usage
-----

[](#usage)

Create resources and requests with artisan commands and pass data, message, error\_message or count to resources like following examples:

```
    public function index(EmailFilter $filters)
    {
        list($emails, $count) = Email::filter($filters);
        $emails = $emails->get();

        return EmailResource::collection(['data' => $emails, 'count' => $count]);
    }
```

```
    public function show(Email $email)
    {
        return new EmailResource(['data' => $email, 'message'=> 'email info.']);
    }
```

You can specify output fields from transformDataItem() method of resource classes.

```
