介绍
用过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 hello.php hello
就实现了一个简单的命令
我们添加以下几段代码
在命令行中敲入php hello.php hello helbing
,这样就可以为hello命令传入参数
继续添加代码
在命令行中敲入php hello.php hello helbing --greeting="this is"
,这样就可以为hello命令传入选项
如果觉得显示过于单调,可以在输出的时候加上info,error,comment等标签
用面向对象的方式重写hello命令
创建HelloCommand.php文件,在其中写入
修改hello.php为
在composer.json中写入
然后再命令行中敲入composer dump-autoload
做自动映射
接下来在命令行中敲入
结尾
通过symfony/console可以很简单的实现php命令,在平常的开发中可以根据项目需要自定义实现各种命令操作,方便项目的日常开发测试部署等。以上两个简单例子的代码可以在这里查看https://github.com/helbing/php-command