sirs/apistarter 问题修复 & 功能扩展

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

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

sirs/apistarter

Composer 安装命令:

composer require sirs/apistarter

包简介

Package to streamline the development of api endpoints

README 文档

README

A package to make the creation of api controller endpoints easy.

This package allows you to quickly create functional, boilerplate api controllers and fractal transformers so you can get your json enpoints up fast.

Installation

  • composer require sirs/apistarter
  • paste Sirs\ApiStarter\ApiStarterServiceProvider::class, into config/app.php

Usage

Classes

ApiController

You give subclasses of this controller a model class and a Fractal transformer class and it provides resource methods that handle the generic use cases for index, store, show, update, destroy (if enabled). Some features of #ApiController#:

  • The index method accepts query parameters for for limiting, ordering, and filtering items.
    • limit
    • order_by
    • whitelisted filters
    • select (can be string or array: e.g. ?select=name or ?select[]=name&select[]=id)
    • Example: /api/participants?order_by=first_name&site_=1&select= (where site_id has been defined in Api\UserController::$validFilters)
  • The index and show methods accept #with# query parameter to request optional includes defined in your (custom) transformers. Example: /api/participants/1?with=site will include the participant's sites if the site relation has been defined as a include in your SiteTransformer.

GenericTransformer

This generic Fractal transformer class that utilizes the TransformsAttributes trait to transform your model's attributes (as retrieved by toArray()) into response data. Generated custom transformers will also use the TransformsAttributes trait by default.

Artisan Commands

You can quickly create ApiController subclasses and model-specific transformers with the include artisan commands:

make:api-controller

This command takes a model name (i.e. App\User (make sure you escape the backslash)) and creates a controller in app/Http/Controllers/Api that inherits from Sirs\ApiStarter\Controllers\ApiController. Now you can define your validFilters (if any) and/or override any resource methods you like.

Options
  • --transformer generates a boilerplate transformer for you model(see below).
  • --destroyable enables the destroy method in your controller (disabled by default).
Example
php artisan make:api-controler App\\User --transformer

will create:

app/Http/Controllers/Api/UserController.php
app/Http/Transformers/UserTransformer.php

make:api-transformer

This command takes a model name (i.e. App\User (make sure you escape the backslash)) and creates a transformer in app/Http/Transformers. This transformer uses a trait that will automatically include all non-hidden attributes of your model (anything that comes through in $model->toArray()). See http://fractal.thephpleague.com/ for more info on Fractal and Transformers.

Example
php artisan make:api-transformer App\\Participant

will create:

app/Http/Transformers/ParticipantTransformer.php

NOTE: this is currently in dev so you'll have to update your minimum-stability in your composer.json file.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: Unknown
  • 更新时间: 2017-08-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固