- 🏠 简介
- 📥 源码下载
- 🚀 安装指南
- 🔧 niucloud (服务端)
- 🖥️ admin (后台管理端)
- 📱 uni-app(手机端前端)
- 🌐 web端(PC前端)
- ⚙️ 代码生成器
- ⚙️ 配置手册
- 📚 使用手册
- 🔄 版本更新
-
❓ 常见问题
- 服务器问题
- 安装问题
- 使用问题
- 版本问题
-
其他问题
- 怎么添加菜单,添加了菜单不出现怎么回事
- 站点site端(租户端、商家端)和saas管理端(平台端)究竟啥意思,有啥区别
- 框架中是有订单表order,假如开发一个商城插件,请问商城的订单数据是不是重新搞一个订单表shop_order
- 有些支付平台是绑定回调唯一网址或目录,如果有几个开发者开发插件都有支付那这块怎么解决?
- 站点过期,可以登录,这样对吗?
- 计划任务怎么启动啊
- Git多分支开发,切换分支
- 安装应用出现is_dir()报错处理方案
- 绑定授权时出现“请求来源产品与授权产品不一致”解决方案
- “未找到admin源码所在目录”的解决方案
- 页面装修本地开发环境配置
- 接口请求错误处理方案
- 未获取到授权信息问题处理方案
- 腾讯地图配置
- 请求超时问题处理方案
- 下载应用时提示找不到zip解决方案
- 怎么关闭开发调试模式
- 获取数据失败问题处理方案
- 框架安装后,访问域名无法进入admin端(多数发生在本地)
- 底部导航失效问题
- 开放平台小程序审核通过发布失败问题
- 先升级插件后升级框架,导致云编译报debounce的错误
- 微信公众号自动回复不通
- 如何修改访问域名默认跳转端口
- 插件与框架的版本兼容问题处理方案
- 升级提示mkdir()处理方案
- 云编译时node.js内存不足导致内存溢出处理方案
- 报错Allowed memory size of ** bytes exhausted (tried to allocate ** bytes)处理方法
- Mysql修改sql_mode模式
- 框架1.0.2之前升级最新版错误Undefined array key "content"
- 安装插件提示不适配框架版本的处理
自定义指令
指令概述
自定义命令在根目录配置文件config下console.php中添加
return [
// 指令定义
'commands' => [
'addon:install' => 'app\command\Addon\Install',
],
];
目录app\command\下定义命令实现类,比如插件安装指令
class Install extends Command
{
protected function configure()
{
$this->setName('addon:install')
->addArgument('addon', Option::VALUE_REQUIRED)
->addOption('step', 's', Option::VALUE_REQUIRED)
->setDescription('the addon install command');
}
protected function execute(Input $input, Output $output)
{
$instance = CoreAddonInstallService::instance($input->getArgument('addon'));
$step = $input->getOption('step');
try {
$instance->$step();
$output->writeln("Command executed successfully");
} catch ( Exception $e ) {
$output->writeln("Command failed " . $e->getMessage());
}
}
}
执行创建命令
php think addon:install cms --step install
现有指令
addon:install #安装插件,支持指定插件名称和安装步骤
addon #卸载插件
menu #刷新系统菜单或指定插件的菜单
reset #重置管理员密码
queue:listen #启动基于Redis的消息队列,支持消息延迟处理和失败重试
cron:schedule #定时任务管理器,支持秒级别的定时设置
workerman #高性能PHP应用容器,集成了计划任务和消息队列功能
自定义指令开发
支持开发者自定义命令行指令,步骤如下:
1.创建指令类,继承think\console\Command
2.在configure方法中设置指令名称、参数和描述
3.在execute方法中实现指令逻辑
4.在项目中注册指令
示例代码框架
namespace app\command;
use think\console\Command;
use think\console\Input;
use think\console\Output;
class MyCommand extends Command
{
protected function configure()
{
$this->setName('my:command')
->setDescription('我的自定义指令');
}
protected function execute(Input $input, Output $output)
{
// 实现指令逻辑
$output->writeln('自定义指令执行成功');
}
}