PHPackages                             shiogong/gate - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. shiogong/gate

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

shiogong/gate
=============

GateSystem

25PHP

Since Jan 24Pushed 8y ago1 watchersCompare

[ Source](https://github.com/MuReinhard/Gate)[ Packagist](https://packagist.org/packages/shiogong/gate)[ RSS](/packages/shiogong-gate/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

简介
--

[](#简介)

本组件包含多票据的诸多处理策略,支持自定义扩展

安装
--

[](#安装)

```
composer install shiogong/gate

```

用例
--

[](#用例)

### 初始化

[](#初始化)

```
// 入门票据基础类(用户输入的数据,存入相应的位置中)
$requestBean = new GateRequestBean();
// 票据关键值
$requestBean->setKeyValue($openId);
// 票据类型
$requestBean->setTicketType(UserToken::USER_TOKEN_TYPE_MINIPROGRAM);

// 票据存储的数据库model
$tokenModel = new UserToken();
// 票据的操作类
$ticketObj = new GateTicketOpenId($requestBean, $tokenModel);
// 初始化
$gate = new Gate($ticketObj);

```

### 设置数据Model

[](#设置数据model)

记得你是需要实现一个数据Model的,这个Model必须实现TicketModelInf接口

### 授权认证

[](#授权认证)

```
// 授权认证
$ticket = $gate->authentication();

```

### 票据动作(系统预设)

[](#票据动作系统预设)

票据动作就是一些相关票据的标准业务模式

#### 创建票据

[](#创建票据)

```
$action = new TicketCreate();
$gate->action($action);

```

扩展
--

[](#扩展)

### 扩展票据类型

[](#扩展票据类型)

你可能需要创建系统中不包括的票据类型,比如邮箱,用户名等.

#### 1.继承抽象类GateTicketAbs

[](#1继承抽象类gateticketabs)

任意类继承抽象类GateTicketAbs,这个类是票据的基础类,任何票据都必须是这个抽象类的衍生类

##### 强制实现方法

[](#强制实现方法)

继承之后,有几个需要强制实现的方法,这些方法与你的票据息息相关,这几个方法必须实现,并且做出相应的设置,isAuthenticateSuccess这个方法的返回值尤为重要,如果他返回true,直接视为此票据授权成功

```
    /**
     * 是否需要密码
     * @return boolean
     */
    abstract public function isNeedPassword();

    /**
     * 认证流程
     * @return mixed
     */
    abstract public function authentication();

    /**
     * 是否授权成功
     * @return boolean
     */
    abstract public function isAuthenticateSuccess();

    /**
     * 外部直接设置授权是否成功
     * @param bool $isAuthenticateSuccess
     */
    abstract public function setIsAuthenticateSuccess($isAuthenticateSuccess);

    /**
     * 得到票据类型
     * @return int
     */
    abstract public function getTicketType();

   /**
    * 外部直接设置票据类型
    * @param null $ticketType
    */
    public abstract function setTicketType($ticketType);

    /**
     * 检查其他票据是否存在
     * @return mixed
     */
    abstract public function checkOtherTicketExist();

```

##### 便利的上下文方法

[](#便利的上下文方法)

该类还有几个专门获取上下文的方法

```
    /**
     * 得到TokenModel
     * @return mixed
     */
    function getModel();

    /**
     * 得到从数据库中匹配的数据
     * @return mixed
     */
    function getMatchingTicketData();

    /**
     * 得到输入的数据
     * @return mixed
     */
    function getRequestBeanData();

```

##### 预设的验证或工具方法

[](#预设的验证或工具方法)

抽象类实现了几个核心流程方法,如果他们的验证方式不符合你的预期,你可以通过覆写的方式解决这个问题

```
    /**
     * 匹配票据数据
     * @return mixed
     */
    function matchingTicket();

    /**
     * 检查输入的数据是否存在于model中
     * @return mixed
     */
    function checkBasisDataExist();

```

### 扩展操作

[](#扩展操作)

### 扩展自定义流程

[](#扩展自定义流程)

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/12228459?v=4)[ShiO](/maintainers/ShiOGong)[@ShiOGong](https://github.com/ShiOGong)

### Embed Badge

![Health badge](/badges/shiogong-gate/health.svg)

```
[![Health](https://phpackages.com/badges/shiogong-gate/health.svg)](https://phpackages.com/packages/shiogong-gate)
```

###  Alternatives

[kartik-v/yii2-password

Useful password strength validation utilities for Yii Framework 2.0

791.3M17](/packages/kartik-v-yii2-password)

PHPackages © 2026

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