当前位置: 首页 > 后端技术 > PHP

如何编写LaravelArtisan命令行工具?

时间:2023-03-30 00:52:34 PHP

Artisan是Laravel自带的命令行界面。它提供了许多有用的命令来帮助您构建Laravel应用程序。当你第一次接触Laravel框架时,你发现你可以使用命令行来执行一些操作,例如:创建文件,运行服务等。对于学习或者无法满足需求时,我们需要自己写一个Artisan命令行。命令行输出Hello,在项目根目录下执行phpartisanmake:commandHello。此命令的结果将在app\Console下创建一个Commands文件夹并创建Hello.php。load(__DIR__.'/Commands');需要base_path('routes/console.php');你也可以调用load方法添加你的其他Commands文件夹来执行phpartisan。执行phpartisanhello这样就可以很简单的写出第一个Artisan命令行来使用Artisan启动一个服务我们创建一个服务命??令phpartisanmake:commandSwooleStart。on('connect',function($serv,$fd){echo"Client:Connect.\n";});//监听数据接收事件$serv->on('receive',function($serv,$fd,$from_id,$data){$serv->send($fd,"Server:".$data);});//监听连接关闭事件$serv->on('close',function($serv,$fd){echo"Client:Close.\n";});//启动服务器$serv->start();}}执行phpartisanswoole:start打开命令行窗口,输入telnet127.0.0.19501监听这个端口,这样就可以成功使用Artisan启动一个服务了当然也可以使用ask方法询问是否启动publicfunctionhandle(){if($this->ask('是否启动swlloe,请输入yes')!='yes'){die;}$serv=new\swoole_server("127.0.0.1",9501);//监听连接传入事件$serv->on('connect',function($serv,$fd){echo"Client:Connect.\n";});//监听数据接收事件$serv->on('receive',function($serv,$fd,$from_id,$data){$serv->send($fd,"Server:".$data);});//监听连接关闭事件$serv->on('close',function($serv,$fd){echo"Client:Close.\n";});//启动服务器$serv->start();}创建一个类似Artisan的文件我们先创建一个命令行文件phpartisanmake:MakeController修改继承的Command为useIlluminate\Console\GeneratorCommand;