命令行
快速生成模块
表示自动生成test模块,自动生成的模块目录包含了config、controller、model和view目录以及common.php公共文件。
php think build --module test
快速生成控制器类
执行下面的指令可以生成 index模块的 Blog控制器类库文件
php think make:controller index/Blog
快速生成模型类
执行下面的指令可以生成 index 模块的 Blog 模型类库文件
php think make:model index/Blog
快速生成类库映射文件
可以使用下面的指令生成类库映射文件,提高系统自动加载的性能。
php think optimize:autoload
指令执行成功后,会在rumtime目录下面生成classmap.php文件,生成的类库映射文件会扫描系统目录和 应用目录的类库
生成路由缓存
optimize:route如果你的应用定义了比较多的路由规则,可以使用下面的指令生成路由缓存文件,提高系统的路由检测的性能
php think optimize:route
指令执行成功后,会在rumtime目录下面生成route.php 文件,生成的路由缓存文件仅仅支持在应用的路由配置文件中定义的路由(包括方法定义和配置定义)
清除缓存文件
1.如果需要清除应用的缓存文件,可以使用下面的命令:
php think clear
不带任何参数调用clear命令的话,会清除 runtime 目录(包括模板缓存、日志文件及其子目录)下面的所 有的文件,但会保留目录。
2.如果需要清除某个指定目录下面的文件,可以使用:
php think clear --path d:\www\tp5\runtime\log\
生成配置缓存文件
1.可以为应用或者模块生成配置缓存文件
php think optimize:config
默认生成应用的配置缓存文件,调用后会在runtime
目录下面生成init.php
文件,生成配置缓存文件 后,应用目录下面的config.php
common.php
以及tags.php
不会被加载,被 runtime/init.php
取代。
2.如果需要生成某个模块的配置缓存,可以使用:
php think optimize:config --module index
调用后会在runtime/index
目录下面生成init.php
文件,生成后,index
模块目录下面的 config.php common.php
以及tags.php
不会被加载,被runtime/index/init.php
取代
生成数据表字段缓存
1.可以通过生成数据表字段信息缓存,提升数据库查询的性能,避免多余的查询。命令如下:
php think optimize:schema
会自动生成当前数据库配置文件中定义的数据表字段缓存,也可以指定数据库生成字段缓存(必须有用户权限),例如,下面指定生成demo数据库下面的所有数据表的字段缓存信息
php think optimize:schema --db demo
执行后会自动在'runtime/schema'目录下面按照数据表生成字段缓存文件。
如果你的应用使用了不同的数据库连接,可以根据模块来生成,如下:
php think optimize:schema --module index
会读取index模块的模型来生成数据表字段缓存。
更新数据表字段缓存也是同样的方式,每次执行都会重新生成缓存。如果需要单独更新某个数据表的缓存, 可以使用:
php think optimize:schema --table think_user
支持指定数据库名称
php think optimize:schema --table demo.think_user
创建自定义命令
1.首先在配置文件:application/command.php
return [
'app\home\command\Test'
];
配置自定义的命令行的namespace。
2.创建自定义的命令行
我在home模块中的command创建一个Test.php的文件,这里要特别注意,因为是命令行跑,要特别注意文件名的大小写,我一开始的时候没有注意到这个,文件名用了小写,结果一直跑不出来命令。
namespace app\home\command;
use think\console\Command;
use think\console\Input;
use think\console\Output;
class Test extends Command
{
protected function configure()
{
$this->setName('test')->setDescription('Command Test');
}
protected function execute(Input $input, Output $output)
{
$output->writeln("TestCommand:");
}
}
讲解一下,这个文件是集成Think底层的Command类的,configure函数是在命令行中用list命令列出所有任务的时候回显示的出的提示,execute函数是说要执行的命令,在这里可以直接调用其他函数,完成例如统计等任务工作,然后用output输出到命令行。
最后,在根目录中有一个think.php的文件,这个是命令行的入口,文件名可以随意改。代码如下
// 定义项目路径
define('APP_PATH', './application/');
// 加载框架引导文件
require './thinkphp/console.php';
然后输入php think test
, 这样就会显示出结果了。