unmbtg / barud
此包的最新版本(dev-master)没有可用的许可证信息。
我的第一个Composer项目
dev-master
2017-08-06 21:44 UTC
Requires
- php: >=7.0
- laravel/framework: >=5.4
This package is not auto-updated.
Last update: 2024-09-29 00:28:39 UTC
README
一种简单的方法,用于创建高度可定制的CRUD API。
基本功能
这些是CRUD的基本组件。
- 实体:它们负责表示需要存储的东西。
- 标准:它们代表了一种搜索东西的方式。
- 存储库:它们是将一个实体存储在一个永久状态中的方式。它们还负责能够检索给定的实体。
- 服务:这是必须保留基本程序的地方,使用存储库来永久存储给定的程序。
- 展示者:它们为给定的信息提供更好的外观。
- 转换器:它们将看起来好的(展示性)信息转换为其他东西。
- 验证器:在永久存储某物之前必须放置的验证,用于存储库。
用法
步骤 1:创建一个实体
为了存储某物,创建一个实体,大致如下。
<?php
class Foo implements EntityInterface{}
这将使实体可以通过所有其他方法进行识别。如果你使用Eloquent,已经有一个包装器实现了所有必要的方法 EloquentWarper\Model。
步骤 2:创建验证它遵循Laravel Validator的方式,更多信息请参阅 -https://laravel.net.cn/docs/5.4/validation
示例
<?php
class FooValdiator extends ValidatorAbstract
{
public function createRules()
{
return [
'boo' => 'required'
];
}
public function createMessages()
{
return [];
}
}
步骤 3
创建一些端点并实现Controlify特性
示例
<?php
namespace App\Http\Controllers\Api\V1;
use UnmBtg\Controllers\ControllerInterface;
use UnmBtg\Controllers\Controllify;
use UnmBtg\Entities\EntityInterface;
use UnmBtg\Services\DefaultService;
class FooController extends Controller implements ControllerInterface
{
use Controllify;
protected $validatorException = ValidateException::class;
protected $serviceClass = DefaultService::class;
/**
* @var EntityInterface
*/
protected $entity;
public function __construct()
{
\App::setLocale("pt_br");
$this->service = new $this->serviceClass(new $this->entity);
}
public function index(Request $request) {
return $this->indexRequest($request->all());
}
public function store(Request $request)
{
return $this->storeRequest($request->all());
}
public function update($id, Request $request)
{
return $this->updateRequest($id, $request->all());
}
public function destroy($id) {
return $this->deleteRequest($id);
}
public function show($id) {
return $this->showRequest($id);
}
}