Download the PHP package tsaotai/tsaotai-addons without Composer

On this page you can find all versions of the php package tsaotai/tsaotai-addons. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package tsaotai-addons

TsaoTai Addons

TsaoTai plugin system for ThinkPHP 8.

Latest Stable Version License


目录


安装


快速开始

方式 A:自动加载(推荐)

安装后,包会通过 ThinkPHP 服务提供者自动加载插件和路由,无需额外配置!

方式 B:手动配置

如果需要手动配置:

1. 配置插件加载器

app/addons.php

2. 配置插件路由

route/addons.php


配置

配置文件

config/addons.php 中配置,然后在 app/provider.php 或其他地方加载:

加载配置

app/provider.php 或服务提供者中加载:

动态配置


快速创建插件

方式 1:命令行(推荐)

现在支持 3 种命令,任你选择:

创建带完整信息的插件:

创建包含可选目录的插件:

命令选项说明:

选项 说明
--title 插件标题
--description 插件描述
--author 插件作者
--plugin-version 插件版本
--with-model 创建 model 目录
--with-validate 创建 validate 目录
--with-public 创建 public 目录
--with-base 创建插件自己的 Base 控制器(继承 addons\common\AuthBase,默认启用)
--with-config 创建 config.php 插件配置文件
--with-common 创建 common.php 公共函数文件
--with-service 创建 service.php 服务文件
--with-provider 创建 provider.php 服务提供者
--with-event 创建 event.php 事件配置
--with-middleware 创建 middleware.php 中间件配置

方式 2:代码方式


开发插件指南

1. 理解插件结构

自动生成的插件目录结构如下:

2. 插件配置详解

plugin.php 是插件的核心配置文件,所有字段都有详细注释:

3. 开发主控制器

主控制器继承 BaseController

视图解析规则

BaseController::fetch() 方法严格遵循 TP8 原生规范:

4. 开发插件管理控制器

管理控制器继承 PluginController,自动拥有安装/卸载功能:

5. 视图开发

视图文件放在 view/ 目录下:

6. 数据文件

插件数据放在 data/ 目录下:

7. 自定义路由

插件可以在 route.php 中定义自定义路由:

自动路由注册

系统会自动为每个启用的插件注册以下标准路由:

路由 方法 说明
plugin/{identifier} ANY 插件管理首页
plugin/{identifier}/install ANY 安装插件
plugin/{identifier}/uninstall ANY 卸载插件
plugin/{identifier}/update ANY 更新日志
plugin/{identifier}/rule ANY 使用规则

8. 加载插件资源

插件可以加载多种资源文件:

这些文件会在插件加载时自动引入。

9. 使用助手函数

包提供了便捷的助手函数:

addons()

addons_url()

addons_view()

addons_path()

10. 访问插件


使用 Facade(更简洁)


AI 开发指南

使用 AI(如 Claude、GPT 等)辅助开发插件,请查看 AI-DEVELOPMENT-GUIDE.md。

包含内容:


API 文档

类说明

类名 说明
tsaotai\addons\BaseController 插件基础控制器(推荐新插件使用),1:1 复刻 TP8 原生视图解析规则
tsaotai\addons\CommonController 旧版本基础控制器(保留,向后兼容)
tsaotai\addons\PluginController 插件管理控制器,提供安装/卸载/update/rule 方法
tsaotai\addons\Loader 插件加载器,自动加载配置、路由、事件、中间件等
tsaotai\addons\Router 插件路由注册器,自动注册标准插件路由
tsaotai\addons\Addons 插件管理器,提供插件列表、创建等功能
tsaotai\addons\Generator 插件生成器,命令行创建插件的核心实现
tsaotai\addons\AddonDiscovery 插件发现服务(统一插件目录扫描)
tsaotai\addons\Config 配置管理类
tsaotai\addons\Service ThinkPHP 服务提供者,自动注册服务和命令

Facade API

方法 说明
Addons::load() 加载插件
Addons::registerRoutes() 注册插件路由
Addons::getAddons() 获取所有插件信息
Addons::scanAddons() 扫描插件目录
Addons::create($name, $options) 创建新插件

Config API

方法 说明
Config::get($name, $default) 获取配置
Config::set($name, $value) 设置配置
Config::load($config) 加载配置

AddonDiscovery API

方法 说明
AddonDiscovery::getAddonNames() 获取所有插件目录名称
AddonDiscovery::getAddonPath($name) 获取插件路径
AddonDiscovery::exists($name) 检查插件是否存在
AddonDiscovery::hasConfig($name) 检查插件是否有配置文件
AddonDiscovery::getConfig($name) 获取插件配置
AddonDiscovery::isInstalled($name) 检查插件是否已安装

插件开发规范

命名规范

目录说明

目录/文件 说明 必填
controller/ 控制器
view/ 视图
data/ 数据文件(update.md/rule.md)
model/ 模型
validate/ 验证器
public/ 公共资源(css/js/images)
plugin.php 插件配置
route.php 插件路由
common.php 公共函数
request.php 请求绑定
service.php 服务文件
provider.php 依赖注入
event.php 事件监听
middleware.php 中间件

版本号规范

采用年份.季度.修订号格式:


升级指南

从 2026.1.x 升级到 2026.1.4

  1. 完全兼容,无需修改现有插件代码
  2. 新功能:插件生成器新增多个可选文件选项
    • --with-base - 创建插件自己的 Base 控制器(默认启用)
    • --with-config - 创建 config.php
    • --with-common - 创建 common.php
    • --with-service - 创建 service.php
    • --with-provider - 创建 provider.php
    • --with-event - 创建 event.php
    • --with-middleware - 创建 middleware.php
  3. 新插件结构优化
    • 主控制器现在继承插件自己的 Base(继承 addons\common\AuthBase
    • 视图模板统一使用 {extend name="admin@public/base"}

从 2026.1.1 升级到 2026.1.2

  1. 完全兼容,无需修改现有插件代码
  2. 稳定性修复
    • 移除不正确的 Request::bind() 用法(request.php 文件不再自动加载)
    • 增加 AddonDiscovery::validateIdentifier() 方法,校验插件 identifier 与目录名一致
    • 加载器和路由注册时会跳过 identifier 不一致的插件,防止配置错误导致的潜在问题

从 1.7.x 升级到 2026.1.1

  1. 完全兼容,无需修改现有插件代码
    • CommonController 已保留作为向后兼容
    • 旧插件可以继续使用
  2. 新插件建议:直接继承 BaseController
  3. 版本号格式更新为 2026.1.1
  4. BaseController::fetch() 采用 TP8 原生视图解析规则
  5. 稳定性修复
    • 移除不正确的 Request::bind() 用法(request.php 文件不再自动加载)
    • 增加 AddonDiscovery::validateIdentifier() 方法,校验插件 identifier 与目录名一致
    • 加载器和路由注册时会跳过 identifier 不一致的插件,防止配置错误导致的潜在问题

从 1.5.x 升级到 1.6.x

  1. 无需修改现有插件代码
  2. 可以使用新的命令别名 addon:makeplugin:make
  3. 插件生成器现在生成的结构更符合规范

从 1.4.x 升级到 1.5.x

  1. 无需修改现有插件代码
  2. 可以使用新的命令行工具创建插件
  3. --version 选项改为 --plugin-version 避免冲突

从 1.3.x 升级到 1.4.x

  1. 无需修改现有插件代码
  2. 内部重构,使用 AddonDiscovery 统一插件发现逻辑

从 1.2.x 升级到 1.3.x

  1. 无需修改现有插件代码
  2. 可以使用新的插件生成器
  3. 可以使用 addons_path() 助手函数

从 1.1.x 升级到 1.2.x

  1. 无需修改现有插件代码
  2. 可以使用新的配置功能
  3. 可以使用新的助手函数

从 1.0.x 升级到 1.1.x

  1. 无需修改现有插件代码
  2. 建议删除 app/addons.phproute/addons.php 中的手动配置,使用自动加载
  3. 可以使用新的 Facade 来简化代码

License

Apache-2.0


All versions of tsaotai-addons with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0.0
topthink/framework Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package tsaotai/tsaotai-addons contains the following files

Loading the files please wait ...