lonnylot/crud-sugar 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 lonnylot/crud-sugar 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 9.29k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 12
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-12-05