laravel command
2024-09-02 00:56:10
(1) 新建一个command类,并在command类里面写相应的执行函数
其中变量act就是指函数名,handle里面会先判断该函数是不是存在,如果存在就执行,如果不存在就提示函数不存在
class UploadTeachingMaterials extends Command
{
protected $signature = 'uploadMaterials {act} {--folder=}';
protected $description = '上传教材'; /**
* 执行控制台命令
*/
public function handle()
{
$method = $this->argument('act');
if (method_exists($this, $method)) {
$this->$method();
echo "执行完成\n";
} else {
echo "${method} is not exists\n";
}
}
public function test()
{
xxxxxxx;
}
}
应先填写类的 signature
和 description
属性,这会在使用 list
命令的时候显示出来。执行命令时会调用 handle
方法,你可以在这个方法中放置命令逻辑。
到相应的目录下:比如你的laravel项目名叫test,那你就应该在test/目录下执行
php artisan list
(2)在kernel.php中注册该类
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [ Commands\TeachingMaterials\UploadTeachingMaterials::class, ]; /**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{ }
}
(3)执行该command命令
php artisan uploadMaterials 方法名 --folder=变量名
注意:
在执行command的命令的时候,为了对用户更友好,要有输出结果和提示,同时要进行错误处理,将异常和错误,或者其他有用的信息放到日志中。
最新文章
- OpenResty 简单编写一个Module
- VC++2010 中Debug和Release配置
- Windows开发技术的历史
- 关于char与varchar,varchar2的区别
- eclipse 设置编辑窗口字体和背景颜色
- 调试JDK源码时,不能查看变量的值
- ps图层面板上的【透明度】与【填充】的区别
- sleep,yield,wait,notify,notifyAll
- (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
- linux如何安装java环境
- FPGrowth
- python 绘制柱状图
- [Swift]LeetCode794. 有效的井字游戏 | Valid Tic-Tac-Toe State
- mysql安装出现问题(The service already exists)
- 【原创】Linux基础之linux常用命令之文本替换
- MT【273】2014新课标压轴题之$\ln2$的估计
- 找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.应用程序类必 须扩展javafx.application.Application”
- jsp中使用原生js实现异步交互
- Leetcode 20.有效的括号 By Python
- InnoDB多版本(MVCC)实现简要分析(转载)