下面由laravel教程栏目给大家介绍实现 laravel 的artisan 的方法,希望对需要的朋友有所帮助!
laravel 的 artisan 命令行太好用了,换个框架没有这个功能,于是自己学习实现一些,直接上代码
新建目录
-artisan
–bin
–src
进入artisan composer init
composer require symfony/console
#!/usr/bin/env phpregister('artisan')->setCode(function(InputInterface $input, OutputInterface $output){ $output->writeln('artisan start');});$app->run();exit();以上是简单的实现
#!/usr/bin/env phpregister('artisan') ->setDescription('myself artisan description') ->setCode( function (InputInterface $input, OutputInterface $output) { $name = $input->getArgument('name'); $output->writeln("hello {$name}"); } )->addArgument('name', InputArgument::REQUIRED, 'please input your name');$app->run();exit();这里演示了如何接收参数
#!/usr/bin/env phpregister('artisan') ->setDescription('myself artisan description') ->setCode( function (InputInterface $input, OutputInterface $output) { $string = $input->getOption('string'); $name = $input->getArgument('name'); if($string == 'lower'){ $name = strtolower($name); } if($string == 'upper'){ $name = strtoupper($name); } $output->writeln("hello {$name}"); } )->addArgument('name', InputArgument::REQUIRED, 'please input your name') ->addOption('string',null,InputOption::VALUE_OPTIONAL,'转换字符串大小','lower');$app->run();exit();这里演示了如何给命令行添加选项 ./bin/artisan.php artisan ffff --string='upper' echo FFFF
$output->writeln("hello {$name}");$output->writeln("hello {$name}");$output->writeln("hello {$name}");$output->writeln("hello {$name}");可以给它们加上颜色

接下来将命令行拆分为文件

bin/artisan.php
ArtisanCommand.php
#!/usr/bin/env phpadd(new ArtisanCommand());$app->run();exit();ArtisanCommand.php
setName('artisan'); $this->setDescription('myself artisan description') ->addArgument('name', InputArgument::REQUIRED, 'please input your name') ->addOption('string',null,InputOption::VALUE_OPTIONAL,'转换字符串大小','lower'); } public function execute(InputInterface $input, OutputInterface $output) { $string = $input->getOption('string'); $name = $input->getArgument('name'); if($string == 'lower'){ $name = strtolower($name); } if($string == 'upper'){ $name = strtoupper($name); } $output->writeln("hello {$name}"); $output->writeln("hello {$name}"); $output->writeln("hello {$name}"); $output->writeln("hello {$name}"); }}
composer.json
{ "name": "baidu/artisan", "authors": [ { "name": "gaobingbing", "email": "v_gaobingbing01@baidu.com" } ], "require": { "symfony/console": "^4.3" }, "autoload": { "psr-4": { "Artisan": "src" } }}至此大功告成,还有其他功能可以去看Symfony文档
以上就是如何实现 laravel 的artisan的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/82735.html
微信扫一扫
支付宝扫一扫