papasmurf/laravel-4-jsend

Laravel 4 标准JSON响应格式

dev-master 2015-06-02 07:16 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:41:30 UTC


README

根据OmniTI实验室 @ http://labs.omniti.com/jsend

JSend 是一个规范,它规定了Web服务器返回的JSON响应的格式。JSend专注于应用层(而非协议或传输层)的消息传递,这使得它在REST风格的应 用程序和API中使用非常理想。

Laravel (4.2)

安装

通过编辑您的 composer.json 文件,使用Composer安装此包,要求 papasmurf/laravel-4-jsend

"papasmurf/laravel-4-jsend": "dev-master"

从终端/命令行更新Composer

composer update

完成后,将服务提供者添加到 app/config/app.php

'Papasmurf\JSend\JSendServiceProvider',

之后,您可以在 app/config/app.php 中将外观添加到别名列表中。

'JSend' => 'Papasmurf\JSend\Facades\JSend',

一切设置完成!现在您可以用一致的方式响应JSON消息,而不必再考虑理想的JSON格式了。

用法

function doStuff()
{
	return JSend::success([
		'redirect' => URL::action('UsersController@index')
	]);
}

function validateStuff()
{
	return JSend::fail([
		'failed' => $validation->failedFields(),
		'message' => $message
	]);
}

function tryStuff()
{
	try {
		stuff();
	} catch (Exception $e) {
		return JSend::error('whoops!');
	}

	return JSend::success();
}

独立

也可以独立使用,需要带有json方法的Response对象。

require __DIR__ . '/src/JSend.php';

class Response
{
	public function json($data)
	{
		return json_encode($data);
	}
}

$responder = new Response;
$JSend = new Papasmurf\JSend\JSend($responder);

echo $JSend->success([
    'redirect' => 'mydomain.com/something'
]);