PHPackages                             inn20/api-scaffold - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. inn20/api-scaffold

ActiveLibrary[API Development](/categories/api)

inn20/api-scaffold
==================

v1.0.6(4y ago)133PHP

Since Nov 6Pushed 4y ago1 watchersCompare

[ Source](https://github.com/inn20/api-scaffold)[ Packagist](https://packagist.org/packages/inn20/api-scaffold)[ RSS](/packages/inn20-api-scaffold/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (7)Dependencies (2)Versions (9)Used By (0)

安装
==

[](#安装)

```
composer require "inn20/api-scaffold"

```

#### 创建配置文件&amp;生成JWT key

[](#创建配置文件生成jwt-key)

```
php artisan api-scaffold:install

```

#### 上面命令等同于以下3条命令,按需使用

[](#上面命令等同于以下3条命令按需使用)

> 创建脚手架配置文件

```
php artisan vendor:publish --provider="Inn20\ApiScaffold\ApiServiceProvider"

```

> 创建JWT配置文件

```
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

```

> 生成JWT token

```
php artisan jwt:secret

```

配置
==

[](#配置)

1. 修改异常处理器

> `App\Exceptions\Handler ` 继承 `Inn20\ApiScaffold\Exceptions\ApiHandler`

```
use Inn20\ApiScaffold\Exceptions\ApiHandler as ExceptionHandler;

class Handler extends ExceptionHandler
...

```

2. 配置 Auth guard

> `config/auth.php ` 文件中，修改为下面代码

```
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
       'driver' => 'jwt',
       'provider' => 'users',
    ],
],

```

3. 继承User模型

```
...
use Inn20\ApiScaffold\Models\User as JwtUser;

class User extends JwtUser
...

```

使用
==

[](#使用)

#### 用户认证

[](#用户认证)

> 登录 获取token

```
$token = Auth::guard('api')->attempt(['name'=>$request->name, 'password'=>$request->password]);

```

> 用户退出

```
Auth::guard('api')->logout();

```

> 返回当前登录用户信息

```
$user = Auth::guard('api')->user();

```

#### 中间件

[](#中间件)

###### api.guard

[](#apiguard)

> 自动区分 guard

###### api.refresh

[](#apirefresh)

> 用户认证,token过期会自动刷新

#### 统一 Response 响应

[](#统一-response-响应)

###### 控制器引入trait `Inn20\ApiScaffold\Helpers\ApiResponse`

[](#控制器引入trait-inn20apiscaffoldhelpersapiresponse)

#### 异常接管

[](#异常接管)

`config/apiscaffold.php` 文件

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~42 days

Recently: every ~55 days

Total

8

Last Release

1722d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b5f7c8573b09b23a57f85d6435811203c814aec21b2328434549c04c3c048d6a?d=identicon)[inn20](/maintainers/inn20)

### Embed Badge

![Health badge](/badges/inn20-api-scaffold/health.svg)

```
[![Health](https://phpackages.com/badges/inn20-api-scaffold/health.svg)](https://phpackages.com/packages/inn20-api-scaffold)
```

###  Alternatives

[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[echolabsdev/prism

A powerful Laravel package for integrating Large Language Models (LLMs) into your applications.

2.3k388.3k10](/packages/echolabsdev-prism)[sburina/laravel-whmcs-up

WHMCS API client and user provider for Laravel

271.3k](/packages/sburina-laravel-whmcs-up)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
