用PHP开发命令行工具

时间:2023-01-05 03:07:34

介绍

用过laravel开发过项目的都应该用过artisan,通过artisan我们可以在命令行中创建控制器类,Eloquent类等,今天我们将通过php来开发命令行工具

开发环境与工具

  • 使用vagrant+homestead搭建开发环境
  • 使用composer下载安装所需要的包
  • 使用Phpstorm IDE

实现hello命令

首先在家目录中创建一个文件夹hello作为我们的项目目录,同时在hello文件夹中初始化composer(composer init),然后通过composer下载我们所需要的开发包(composer require composer require symfony/console),接着创建hello.php文件并写入如下代码

用PHP开发命令行工具

接下来我们在命令行中敲入php hello.php hello就实现了一个简单的命令

用PHP开发命令行工具

我们添加以下几段代码

用PHP开发命令行工具

在命令行中敲入php hello.php hello helbing,这样就可以为hello命令传入参数

用PHP开发命令行工具

继续添加代码

用PHP开发命令行工具

在命令行中敲入php hello.php hello helbing --greeting="this is",这样就可以为hello命令传入选项

用PHP开发命令行工具

如果觉得显示过于单调,可以在输出的时候加上info,error,comment等标签

用PHP开发命令行工具

用PHP开发命令行工具

用面向对象的方式重写hello命令

创建HelloCommand.php文件,在其中写入

用PHP开发命令行工具

修改hello.php为

用PHP开发命令行工具

在composer.json中写入

用PHP开发命令行工具

然后再命令行中敲入composer dump-autoload做自动映射

接下来在命令行中敲入

用PHP开发命令行工具

结尾

通过symfony/console可以很简单的实现php命令,在平常的开发中可以根据项目需要自定义实现各种命令操作,方便项目的日常开发测试部署等。以上两个简单例子的代码可以在这里查看https://github.com/helbing/php-command