six-shop / app
the new thinkphp framework
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
pkg:composer/six-shop/app
Requires
- php: >=8.0.0
- topthink/framework: ^8.0
- topthink/think-filesystem: ^2.0|^3.0
- topthink/think-orm: ^3.0|^4.0
Requires (Dev)
- topthink/think-dumper: ^1.0
- topthink/think-trace: ^2.0
This package is auto-updated.
Last update: 2025-10-30 06:12:08 UTC
README
这是一个纯净版的ThinkPHP项目,基于ThinkPHP8.1开发,添加了DDEV开发环境的配置。
我们的目标是你的项目就是目前这一个项目,只需要安装扩展即可完成开发,不需要修改项目代码,你的业务逻辑应该在某个扩展中完成。
欢迎PHP开发者加入我们,一起开发SixShop扩展。
安装依赖
ddev composer install
运行应用
ddev start
ddev launch # 或者访问 https://app.ddev.site/
SixShop扩展特性
SixShop扩展旨在为ThinkPHP开发者们开发出更易维护的项目
每个项目都是不同的扩展组合而成,对ThinkPHP应用的扩展只需要通过composer require 进行安装(包括数据的迁移脚本)
最终你只需要寻找现成合适的扩展进行安装,然后自己自行开发部分扩展
支持私有仓库进行扩展模块开发,保护用户定制开发的代码
支持应用市场扩展开发模式
项目依赖
"php": ">=8.3",
"topthink/framework": "^8.1",
"topthink/think-orm": "^4.0"
扩展列表
https://packagist.org/?type=sixshop-extension
SixShop扩展开发指南
扩展模块开发流程:
- 
先创建git项目 
- 
项目clone到本地 runtime/extension目录下,也可以其他没有版本控制的目录下cd backend/runtime/extension git clone git@github.com:runphp/sixshop-hello.git
- 
在 composer.json中添加path仓库(下面以hello为例){ "repositories": [ { "type": "path", "url": "runtime/extension/sixshop-hello", "options": { "symlink": true, "versions": { "six-shop/hello": "v0.2.9" } } } ] }
- 
安装你的扩展模块 ddev composer require "six-shop/hello:^v0.2.0"上面的版本是假如最新版本的 six-shop/hello是v0.2.0,那么我们的开发版本比它大的版本就好了,我们可以设置成v0.2.9成功处理的话可以看到 Package operations: 1 install, 0 updates, 0 removals - Installing six-shop/hello (v0.2.9): Symlinking from runtime/extension/sixshop-hello 现在你就可以在 runtime/extension或vendor目录下修改代码了
- 
私有扩展模块认证说明 在 ~/.composer/auth.json中添加认证信息{ "custom-headers": { "packagist.jd29.com": { "X-API-KEY": "5f280c17d5958****************************************0893f506ca01acef704" } } }说明: ddev环境对应的auth.json文件为 ~/.ddev/homeadditions/.composer/auth.json当然你可以做软连接过去 mkdir -p ~/.ddev/homeadditions/.composer && ln -s ~/.composer/auth.json ~/.ddev/homeadditions/.composer/auth.json 然后需要 ddev start重启下容器,可以通过ddev composer config -l查看是否生效 最后你可以参考doc/auth.json这份示例文件,进行修改,这些设置也可以直接在composer.json文件设置,最终使用方式请参考composer官方文档。
- 
扩展模块的composer.json 参考其他扩展,不同地方是添加了 "type": "sixshop-extension",然后就是{ "extra": { "sixshop": { "id": "hello", "class": "SixShop\\Hello\\Extension" } } }id为扩展模块的标识符,需要唯一,class为扩展模块的类名,实现了 SixShop\Extension\ExtensionInterface接口
- 
扩展模块的sql安装脚本使用cakephp的migration,在模块的 database/migrations目录添加
- 
扩展路由在 route目录下添加路由文件 默认会加载admin.php和api.php两个文件, 对应的是admin和api应用,你也可以实现SixShop\Extension\ExtensionInterface的getRoutes接口
- 
扩展模块的事件监听,可以说使用 SixShop\Core\Attribute\Hook实现,具体请查看SixShop\Core\Attribute\Hook类,在模块的src/Hooks目录下添加,然后实现SixShop\Extension\ExtensionInterface的getHooks接口
- 
扩展模块的异步任务实现你可以继承 SixShop\Core\Job\BaseJob即可,具体请查看SixShop\Core\Job\BaseJob类 使用示例
\app\api\job\IndexJob::dispatch(); // 异步任务 \app\api\job\IndexJob::dispatch()->delay(10); // 延迟10s执行
- 
扩展定时任务,使用 SixShop\Core\Attribute\Cron注解, 并且需要实现SixShop\Extension\ExtensionInterface的getCronJobs接口 参考\SixShop\System\Cron\SystemCron类
- 
扩展命令行 注册命令行请实现 SixShop\Extension\ExtensionInterface的getCommands接口 ,默认自动加载扩展目录下command.php文件 可以参考backend/vendor/six-shop/system/command.php
- 
扩展的配置,默认自动加载扩展目录下 config.php文件,可以参考backend/vendor/six-shop/hello/config.php统一配置的实现目前需要安装six-shop/system,后续会单独的扩展包,目前配置的实现是使用 form-create 生成配置表单即可,支持子表单组件