(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的命令的时候,为了对用户更友好,要有输出结果和提示,同时要进行错误处理,将异常和错误,或者其他有用的信息放到日志中。

最新文章

  1. OpenResty 简单编写一个Module
  2. VC++2010 中Debug和Release配置
  3. Windows开发技术的历史
  4. 关于char与varchar,varchar2的区别
  5. eclipse 设置编辑窗口字体和背景颜色
  6. 调试JDK源码时,不能查看变量的值
  7. ps图层面板上的【透明度】与【填充】的区别
  8. sleep,yield,wait,notify,notifyAll
  9. (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  10. linux如何安装java环境
  11. FPGrowth
  12. python 绘制柱状图
  13. [Swift]LeetCode794. 有效的井字游戏 | Valid Tic-Tac-Toe State
  14. mysql安装出现问题(The service already exists)
  15. 【原创】Linux基础之linux常用命令之文本替换
  16. MT【273】2014新课标压轴题之$\ln2$的估计
  17. 找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.应用程序类必 须扩展javafx.application.Application”
  18. jsp中使用原生js实现异步交互
  19. Leetcode 20.有效的括号 By Python
  20. InnoDB多版本(MVCC)实现简要分析(转载)

热门文章

  1. vim的简单配置
  2. jackson 常用注解,比如忽略某些属性,驼峰和下划线互转
  3. 08:Python数据分析之pandas学习
  4. Win32 文件拖拽
  5. Memcached深入分析及内存调优
  6. xshell的Solarized Dark配色方案
  7. CSS布局总结及实际应用中产生的问题
  8. C语言预处理器命令详解【转】
  9. HDU 1358 Period(KMP+最小循环节)题解
  10. js自动小轮播