vahid / respond
为Laravel和Lumen提供的简单JSON响应,用于处理RESTful API端点的实用包
Requires
- php: >=5.5
- illuminate/support: >=5.1
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
README
Laravel Respond
此包提供用于Lumen和Laravel v5及以上框架,它提供了一种简洁的方法来处理带有特定预定消息的JSON响应。
要求
- Laravel >=5.1
- Lumen
- PHP >=5.5
安装
通过Composer
转到您的项目路径,然后在您的终端中运行此代码
$ composer require vahid/respond
或者编辑您的composer.json来引入该包。
"require": { "vahid/respond": "^1.0" }
然后,在您的终端中运行 composer update 以将其引入
配置
Laravel
您需要在您的 config/app.php 文件中的 providers 数组中添加服务提供者,如下所示
Vahid\Respond\RespondServiceProvider::class,
接下来,也在app.php配置文件中,在 aliases 数组下,您可能想要添加Respond门面。
'Respond' => Vahid\Respond\Facades\Respond::class,
Laravel 4
$ php artisan config:publish vahid/respond
Laravel 5
$ php artisan vendor:publish --provider="Vahid\Respond\Providers\RespondServiceProvider"
Lumen
添加到提供者中
您需要在 bootstrap/app.php 中的另一个 register service providers 旁边添加服务提供者,如下所示
$app->register(Vahid\Respond\RespondServiceProvider::class);
之后,您需要创建一个 helper 并添加 config_path 函数。
为Lumen创建config_path helper
在app/Helpers目录中创建一个名为GeneralHelpers.php的文件。将代码粘贴到其中。
<?php if ( ! function_exists('config_path')) { /** * Get the configuration path. * * @param string $path * @return string */ function config_path($path = '') { return app()->basePath() . '/config' . ($path ? '/' . $path : $path); } }
转到composer.json并在autoload中添加文件,使其看起来像这样
"autoload": { "psr-4": { "App\\": "app/" }, "files": [ "app/Helpers/GeneralHelpers.php" ] },
运行composer dump-autoload以加载新创建的helper文件。
用法
您可以用不同的方式使用这些方法
有一些热门方法可以快速使用,除了提供的一些用于按您自己的方式管理输出的方法之外
以下是一些示例
当请求成功并包含要返回的结果数据时
Respond::succeed( $data );
当删除操作成功时
Respond::deleteSucceeded();
当更新成功时
Respond::updateSucceeded();
当插入成功时
Respond::insertSucceeded();
当删除操作失败时
Respond::deleteFailed();
当更新失败时
Respond::updateFailed();
当插入失败时
Respond::insertFailed();
未找到错误
Respond::notFound();
当数据库连接被拒绝时
Respond::connectionRefused();
当输入的参数错误时
Respond::wrongParameters();
当请求的方法不被允许时
Respond::methodNotAllowed();
Respond::requestFailedNotFound();
验证错误
Respond::validationErrors( $data );
注意:如果您使用Laravel FormRequest,为了防止迭代,我们建议在App\Http\Request.php中尝试此方法并重写Illuminate FormRequest的响应方法
定制
为方法设置自定义消息如下所示
Respond::notFound( 'Leave it empty or enter your custom message here' );
您可以做更多的事情
Respond::setStatusCode( 200 )->setStatusText( 'succeed' )->respondWithMessage( 'Your custom message' );
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。