命令行的使用
1.前言
ThinkPHP
支持 Console
應(yīng)用,通過命令行的方式執(zhí)行一些 URL
訪問不方便或者安全性較高的操作。前面學(xué)習(xí)的接口封裝,都是基于 HTTP
請(qǐng)求的,請(qǐng)求時(shí)間是會(huì)有超時(shí)時(shí)間的,若使用命令行可以在后臺(tái)進(jìn)程運(yùn)行,而不是依賴于訪問進(jìn)程,ThinkPHP
命令行提供了一些方便的工具 ,下面介紹如何使用 ThinkPHP
命令行。
2.通過命令行查看版本
在框架的根目錄下,有一個(gè) think
腳本文件,可以使用 php
進(jìn)程去調(diào)用它,查看 ThinkPHP
框架版本可以使用如下命令:
php think version
輸出如下圖所示:
Tips: 若
php
沒有加入環(huán)境變量,可以使用絕對(duì)路徑,如E:\php\php7.3.4nts\php think version
。
3.快速生成控制器
若想要單應(yīng)用 app\controller
目錄下快速生成控制器和方法,可以使用如下命令:
php think make:controller test
如下圖所示:
生成的控制器文件內(nèi)容如下:
<?php
declare (strict_types = 1);
namespace app\controller;
use think\Request;
class test
{
/**
* 顯示資源列表
*
* @return \think\Response
*/
public function index()
{
//
}
/**
* 顯示創(chuàng)建資源表單頁.
*
* @return \think\Response
*/
public function create()
{
//
}
/**
* 保存新建的資源
*
* @param \think\Request $request
* @return \think\Response
*/
public function save(Request $request)
{
//
}
/**
* 顯示指定的資源
*
* @param int $id
* @return \think\Response
*/
public function read($id)
{
//
}
/**
* 顯示編輯資源表單頁.
*
* @param int $id
* @return \think\Response
*/
public function edit($id)
{
//
}
/**
* 保存更新的資源
*
* @param \think\Request $request
* @param int $id
* @return \think\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* 刪除指定資源
*
* @param int $id
* @return \think\Response
*/
public function delete($id)
{
//
}
}
Tips: 其中快速生成幾種常見的方法名,如果只想生成控制器可以使用
php think make:controller test --plain
。
4.快速生成模型
若想要單應(yīng)用 app\model
目錄下快速生成模型,可以使用如下命令:
php think make:model TestModel
如下圖所示:
生成的模型文件內(nèi)容如下:
<?php
declare (strict_types = 1);
namespace app\model;
use think\Model;
/**
* @mixin \think\Model
*/
class TestModel extends Model
{
//
}
Tips:
declare (strict_types = 1)
表示開啟嚴(yán)格模式。
5.快速生成中間件
若想要單應(yīng)用 app\middleware
目錄下快速生成模型,可以使用如下命令:
php think make:middleware Auth
如下圖所示:
生成的中間件文件內(nèi)容如下:
<?php
declare (strict_types = 1);
namespace app\middleware;
class Auth
{
/**
* 處理請(qǐng)求
*
* @param \think\Request $request
* @param \Closure $next
* @return Response
*/
public function handle($request, \Closure $next)
{
//
}
}
6.快速生成驗(yàn)證器
若想要單應(yīng)用 app\Models
目錄下快速生成模型,可以使用如下命令:
php think make:validate Test
如下圖所示:
生成的驗(yàn)證器文件內(nèi)容如下:
<?php
declare (strict_types = 1);
namespace app\validate;
use think\Validate;
class Test extends Validate
{
/**
* 定義驗(yàn)證規(guī)則
* 格式:'字段名' => ['規(guī)則1','規(guī)則2'...]
*
* @var array
*/
protected $rule = [];
/**
* 定義錯(cuò)誤信息
* 格式:'字段名.規(guī)則名' => '錯(cuò)誤信息'
*
* @var array
*/
protected $message = [];
}
7.清除緩存文件
若想要清除 runtime
目錄下的緩存文件,可以使用如下命令:
php think clear
如下圖所示是清除前的示意圖:
清除之后如下圖所示:
Tips: 若不需要保留空目錄,可以使用
php think clear --dir
。
8.輸出路由定義列表
若想要查看定義了哪些路由,可以使用如下命令:
php think route:list
如下圖所示:
9.小結(jié)
本小節(jié)介紹了如何簡單的使用 ThinkPHP
提供的命令行,使用這些命令行可以快速的生成控制器、模型、中間件、驗(yàn)證器,也可以根據(jù)實(shí)際情況選擇手動(dòng)創(chuàng)建這些文件,另外還介紹了如何使用命令行清空緩存,使用命令行查看框架中定義了哪些路由的列表。熟練地掌握這些命令行將會(huì)使你的開發(fā)效率更高。