1.1.0
1.1.0.0 https://github.com/kodeops/rroRich response object plugin.
MIT
The Requires
- php >=5.5
plugin laravel utils kodeops
Rich response object plugin.
_ _ _____ ______ _______ _____ _____ _______ |____/ | | | \ |______ | | |_____] |______ | \_ |_____| |_____/ |______ |_____| | ______|
Add composer package:, (*1)
$ composer require kodeops/rro:dev-master
, (*2)
Copy function helpers to your project within your namespace (recommended, not mandatory):, (*3)
https://raw.githubusercontent.com/kodeops/rro/master/src/helpers.php, (*4)
Add rro-helpers.php
to composer.json
autoload section:, (*5)
"autoload": { ... "files": [ "vendor/kodeops/rro/src/helpers.php" ] }
Assuming helper functions are loaded in composer.json
:, (*6)
$rro = error() ->type('error_type') ->message('This is a sample rich response object.') ->code(404) ->data(['foo' => 'bar']);
Checking status:, (*7)
if ($rro->isError()) { // Response contains an error payload } if ($rro->isSuccess()) { // Response contains a success payload }
Additionaly, isError
and isSuccess
accepts two parameters for checking type
or message
content:, (*8)
if ($rro->isError('type', 'error_type')) { // Response contains an error type equals to "error_type" } if ($rro->isError('message', 'Error message')) { // Response contains an error message equals to "error_type" } if ($rro->isSuccess('type', 'success_type')) { // Response contains a success type equals to "success_type" } if ($rro-> isSuccess('message', 'Success message')) { // Response contains a message equals to "Success message" }
Or you can access independent whether it's an error
or response
:, (*9)
if ($rro->response('is_type', 'error_type')) { // returns true if given type matches response type } if ($rro->response('is_message', 'Descriptive error message')) { // returns true if given message matches response message }
Accessing response:, (*10)
$type = $rro->response('type'); $message = $rro->response('message'); $foo = $rro->response('data', 'foo'); $code = $rro->response('code'); $add = $rro->response('add', ['bar' => 'foo']);
type(string $string)
Set the type for the response., (*11)
message(string $string)
Set the message for the response., (*12)
data(array $data)
Set the data for the response., (*13)
code(int $code)
Set the status code for the response., (*14)
trans(string $translation)
Uses the translation to set the type
and the translation itself is placed in the message
., (*15)
A valid translation path must be entered, if not it will throw an rroException
., (*16)
isError()
Wether the response is an error., (*17)
isSuccess()
Wether the response is a success., (*18)
response('type')
Get the response type., (*19)
response('message')
Get the response message., (*20)
response('data', $dot)
Get the response data array (uses dot syntax to retrieve specific key)., (*21)
Example: response('data', 'user.id')
, (*22)
response('code')
Get the response code., (*23)
response('add', array $data)
Add more items to the data array (will be automatically merged to existing data)., (*24)
response('is_type', $type)
Wether the response type equals to the parameter sent., (*25)
response('is_message', $message)
Wether the response message equals to the parameter sent., (*26)
toHtml()
Will output the message and type in HTML as follows:, (*27)
<h1>{{ $message }}</h1> <h3><code>{{ $type }}</code></h1>
So this snippet:, (*28)
return success() ->type('item_updated') ->message('Item successfully updated!') ->toHtml();
will produce:, (*29)
<h1>Item successfully updated!</h1> <h3><code>item_update</code></h3>
If type
is not set, h3
tag will not be rendered., (*30)
toArray()
Render response to a simple array (otherwise responds with an instance of rro class)., (*31)
So this snippet:, (*32)
return success() ->type('item_updated') ->message('Item successfully updated!') ->toArray();
will produce:, (*33)
[ "response" => [ "type" => "item_updated", "message" => "Item successfully updated!", ] ];
toResponse()
Render response in Laravel way., (*34)
Rich response object plugin.
MIT
plugin laravel utils kodeops