lonnylot/crud-sugar
Composer 安装命令:
composer require lonnylot/crud-sugar
包简介
CRUD sugar for REST APIs
README 文档
README
This is meant to be a base for new REST APIs. You can use this to get started so you don't have to worry about the basics (i.e.: setting API keys, making the request).
Composer
You can install the bindings via Composer. Run the following command:
composer require lonnylot/crud-sugar
To use the bindings, use Composer's autoload:
require_once('vendor/autoload.php');
Dependencies
The library requires the GuzzleHTTP library.
Getting Started
There are three steps to getting endpoints working:
Setting up your Client
$client = \CrudSugar\Client::getInstance(); $client->setBaseUrl('https://api.telnyx.com/'); $client->setApiKey('secret-key');
NOTE See Creating Instances
Registering your endpoints
$client->registerEndpointClass(NumberSearch::class);
NOTE See Endpoint Example Class All endpoints must use
\CrudSugar\Concerns\IsEndpoint
Use your endpoint
$response = $client->numberSearch->index();
Working With Responses
All requests return a Response object.
NOTE: Response decorates the GuzzleHTTP Response. All methods available on the GuzzleHTTP Response are also available through the returned Response object.
Response API
isJson
Returns true if the Content-Type header contains \json or +json
isSuccessful
Returns true if the status code is >= 200 < 300
getContent
If isJson then returns an associative array. Otherwise returns a string.
IsEndpoint API
setPath(string $path)
Required. The base path to your endpoint. Should not begin or end in a /. Should not include any resource specific IDs. Automatically re-builds resource paths.
setResources(array $resources)
The list of resources this endpoint has. Defaults to ['index', 'show', 'store', 'update', 'delete'].
setResourcePath(string $resource, string $path)
Set the path for a specific resource. Overrides the resource path generated by setPath.
setResourceMethod(string $resource, string $method)
Set the method for a specific resource.
Advanced
Creating Instances
You can create and instance by calling \CrudSugar\Client::getInstance(), but you can also create named instances by calling \CrudSugar\Client::getInstance('telnyx'). If you name your instance then you can get that same instance anywhere in your app.
Endpoints
All endpoints must use the \CrudSugar\Concerns\IsEndpoint trait.
Resource Validation
This package uses the Laravel Validator.
NOTE The rules requiring a database (Exists, Unique, etc.) are not implemented.
To validate a resource you can make a validation function that returns the rules.
Endpoint Example
use CrudSugar\Concerns\IsEndpoint; class NumberOrder { use IsEndpoint; public function boot() { $this->setResources(['store']); $this->setPath('number_orders'); } public function validateIndexRules() { return [ "phone_numbers" => ['required', 'array'], "phone_numbers.*.phone_number" => ['required', 'string'] ]; } }
lonnylot/crud-sugar 适用场景与选型建议
lonnylot/crud-sugar 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9.29k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2019 年 12 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 lonnylot/crud-sugar 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lonnylot/crud-sugar 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 9.29k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 12
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-12-05