PHPackages                             jinlulu/tp6\_api - 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. jinlulu/tp6\_api

ActiveProject[API Development](/categories/api)

jinlulu/tp6\_api
================

基于tp6做的api模板

v0.2.0(3y ago)016MITPHPPHP &gt;=7.3.0

Since Jul 2Pushed 2y ago1 watchersCompare

[ Source](https://github.com/805964774/tpl_tp6_api)[ Packagist](https://packagist.org/packages/jinlulu/tp6_api)[ Docs](http://www.autoyun.cn)[ RSS](/packages/jinlulu-tp6-api/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (6)Versions (11)Used By (0)

安装
==

[](#安装)

composer create-project jinlulu/tp6\_api

.env
====

[](#env)

```
CONFIG_SCENE = [local|dev|prod]
请选择其中一个，会根据.env中的该配置匹配config中对应的配置

```

---

生成curd基本框架
==========

[](#生成curd基本框架)

```
php think curd --name Test

```

---

上线前的优化
======

[](#上线前的优化)

生成classmap，优化加载
---------------

[](#生成classmap优化加载)

```
composer dump-autoload --classmap-authoritative

```

生成路由缓存，减小路由解析开销
---------------

[](#生成路由缓存减小路由解析开销)

```
php think optimize:route

```

生成数据库表字段缓存
----------

[](#生成数据库表字段缓存)

```
php think optimize:schema

```

基于tp6做一些微调

config支持多场景配置
=============

[](#config支持多场景配置)

根据env的CONFIG\_SCENE读取config目录下相应文件夹的配置，实际就是继承App，重写了getConfigPath

Log调整
=====

[](#log调整)

- 添加trace\_id，方便追踪

session
=======

[](#session)

- 修改为httponly

response
========

[](#response)

- 添加文件流输出，框架默认是需要保存在本地再提供下载

限流
==

[](#限流)

- 添加令牌桶限流，目前tp官方已经有了更加全面的限流组件，可以改为官方的

BaseModel
=========

[](#basemodel)

添加常用model 子类中需要设置 如下属性

```
protected $getListField;
protected $addAllowField;
protected $getDataField;
protected $editAllowField;

```

PoPo
====

[](#popo)

- 参考java的POJO编写，根据接口入参定义对象即可，将定义好的对象放到Controller中，框架会自动实例化，PoPo对象根据反射会将入参绑定到对相应的参数上
- 也可以通过`array_2_popo_obj`将数组转换为poPo对象，或者将对象转为数组`popo_obj_2_obj`
- popo还可以跟验证器绑定，自动执行验证，只需要配置继承PoPo的子类中设置$validates，也可以改为手动验证，修改$autoValidate即可 以下是提交地址接口的popo对象的使用

 点击查看```
// Controller中
public function submitAddress(SubmitAddressParam $param): Response {
    // 输出参数
    echo $param->getId() . PHP_EOL;
    echo $param->getName() . PHP_EOL;
    echo $param->getAddress() . PHP_EOL;
    echo $param->getMobile() . PHP_EOL;
    print_r($param->toArray());
    // 手动触发验证
    $param->validate();
    return $this->outputSuccess();
}

// PoPo参数对象
use app\validate\SubmitAddress;
use ChengYi\abstracts\PoPo;

class SubmitAddressParam extends PoPo
{
    /**
     * @var array $validates 验证器
     */
    protected $validates = [
        SubmitAddress::class => 'create',
    ];

    /**
     * @var int $id
     */
    private int $id = 0;

    /**
     * @var string $name
     */
    private string $name = '';

    /**
     * @var string $address
     */
    private string $address = '';

    /**
     * @var string $mobile
     */
    private string $mobile = '';

    /**
     * @return int
     */
    public function getId(): int {
        return $this->id;
    }

    /**
     * @param int $id
     */
    public function setId(int $id): void {
        $this->id = $id;
    }

    /**
     * @return string
     */
    public function getName(): string {
        return $this->name;
    }

    /**
     * @param string $name
     */
    public function setName(string $name): void {
        $this->name = $name;
    }

    /**
     * @return string
     */
    public function getAddress(): string {
        return $this->address;
    }

    /**
     * @param string $address
     */
    public function setAddress(string $address): void {
        $this->address = $address;
    }

    /**
     * @return string
     */
    public function getMobile(): string {
        return $this->mobile;
    }

    /**
     * @param string $mobile
     */
    public function setMobile(string $mobile): void {
        $this->mobile = $mobile;
    }
}
```

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~80 days

Recently: every ~179 days

Total

10

Last Release

1103d ago

PHP version history (2 changes)v0.1.1PHP &gt;=7.1.0

v0.1.8PHP &gt;=7.3.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/f5eead3ccb75a28c4ed389d58c67eb60c774098211f6d959be03692b33010946?d=identicon)[靳陆陆](/maintainers/%E9%9D%B3%E9%99%86%E9%99%86)

---

Top Contributors

[![afubao](https://avatars.githubusercontent.com/u/17000387?v=4)](https://github.com/afubao "afubao (36 commits)")

---

Tags

apithinkphptpl\_tp6

### Embed Badge

![Health badge](/badges/jinlulu-tp6-api/health.svg)

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

###  Alternatives

[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751291.4k43](/packages/civicrm-civicrm-core)[plivo/plivo-php

A PHP SDK to make voice calls &amp; send SMS using Plivo and to generate Plivo XML

1143.1M19](/packages/plivo-plivo-php)[wp-graphql/wp-graphql-woocommerce

WooCommerce bindings for WPGraphQL

70556.6k](/packages/wp-graphql-wp-graphql-woocommerce)[plivo/php-sdk

A PHP SDK to make voice calls &amp; send SMS using Plivo and to generate Plivo XML

1112.0M6](/packages/plivo-php-sdk)[apigee/apigee-client-php

Client library for connecting to the Apigee Edge API.

27584.5k4](/packages/apigee-apigee-client-php)

PHPackages © 2026

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