1 Star 0 Fork 0

零壹工作室 / tp6start

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
01.13控制台.md 1.92 KB
一键复制 编辑 原始数据 按行查看 历史
守信哥 提交于 2020-02-04 00:37 . 完成格式调整

控制台

要使用控制台指令,你必须确保应用根目录下存在think文件(不要随便删除或者改名)。

该文件内容如下,主要是执行一个console应用。

#!/usr/bin/env php
<?php
namespace think;

// 加载基础文件
require __DIR__ . '/vendor/autoload.php';

// 应用初始化
(new App())->console->run();

控制台指令的执行格式一般为(在应用根目录下执行):

php think 指令 参数1 参数2 ...

在控制台think入口执行的指令是没有多应用的概念的,你可以把控制台指令理解为单应用模式。控制台需要操作应用的时候,一般由指令自己处理。

快速创建指令

可以用make:command指令快速生成一个应用指令文件

php think make:command Hello

然后在config\console.php中添加指令

return [
	'commands'	=>	[
		'hello'	=>	app\command\Hello::class,
	]
];

然后就可以运行

php think 

查看下指令列表中是否有Hello指令

执行指令测试

php think hello

在扩展中注册指令

框架内置了一些基本的指令,你也可以通过扩展的方式注册额外的指令。要在你的扩展中注册指令,首先必须确保在你的composer.json文件中的extra配置项中添加如下类似代码(这里以官方的think-multi-app扩展为例):

"extra": {
    "think":{
        "services":[
            "think\\app\\Service"
        ]
    }
},  

在你的扩展里面定义一个Service类(必须继承think\Service类),然后在register方法中注册你的指令。

namespace think\app;

use think\Service as BaseService;

class Service extends BaseService
{
    public function register()
    {
        $this->commands([
            'build' => command\Build::class,
        ]);
    }
}

这里额外注册了一个build指令,所以,我们就可以在安装完扩展后执行

php think build
1
https://gitee.com/wgsuxin/tp6start.git
git@gitee.com:wgsuxin/tp6start.git
wgsuxin
tp6start
tp6start
master

搜索帮助