PHPackages                             behamin/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. [API Development](/categories/api)
4. /
5. behamin/bresources

ActiveLibrary[API Development](/categories/api)

behamin/bresources
==================

Behamin basic and standard api response format for laravel

v2.3.0(2y ago)63.5k41MITPHPPHP ^7.4 || ^8.0

Since Oct 23Pushed 1y ago3 watchersCompare

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

READMEChangelog (3)Dependencies (2)Versions (29)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.

```
