如何实现 laravel 的artisan

下面由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}");可以给它们加上颜色

如何实现 laravel 的artisan

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

如何实现 laravel 的artisan

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月16日 12:30:42
下一篇 2025年11月16日 13:24:39

相关推荐

发表回复

登录后才能评论
关注微信