Download the PHP package jinlulu/tp6_api without Composer
On this page you can find all versions of the php package jinlulu/tp6_api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download jinlulu/tp6_api
More information about jinlulu/tp6_api
Files in jinlulu/tp6_api
Download jinlulu/tp6_api
More information about jinlulu/tp6_api
Files in jinlulu/tp6_api
Vendor jinlulu
Package tp6_api
Short Description 基于tp6做的api模板
License MIT
Homepage http://www.autoyun.cn
Package tp6_api
Short Description 基于tp6做的api模板
License MIT
Homepage http://www.autoyun.cn
Please rate this library. Is it a good library?
Informations about the package tp6_api
安装
composer create-project jinlulu/tp6_api
.env
生成curd基本框架
上线前的优化
生成classmap,优化加载
生成路由缓存,减小路由解析开销
生成数据库表字段缓存
基于tp6做一些微调
config支持多场景配置
根据env的CONFIG_SCENE读取config目录下相应文件夹的配置,实际就是继承App,重写了getConfigPath
Log调整
- 添加trace_id,方便追踪
session
- 修改为httponly
response
- 添加文件流输出,框架默认是需要保存在本地再提供下载
限流
- 添加令牌桶限流,目前tp官方已经有了更加全面的限流组件,可以改为官方的 https://github.com/top-think/think-throttle
BaseModel
添加常用model 子类中需要设置 如下属性
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;
}
}
All versions of tp6_api with dependencies
PHP Build Version
Package Version
Requires
php Version
>=7.3.0
topthink/framework Version ^6.0.0
topthink/think-orm Version ^2.0
firebase/php-jwt Version ^5.2
ext-json Version *
ezyang/htmlpurifier Version ^4.13
chengyi/tp6 Version ~2.0.0
topthink/framework Version ^6.0.0
topthink/think-orm Version ^2.0
firebase/php-jwt Version ^5.2
ext-json Version *
ezyang/htmlpurifier Version ^4.13
chengyi/tp6 Version ~2.0.0
The package jinlulu/tp6_api contains the following files
Loading the files please wait ...