重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下怎么实现laravel的artisan,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括成都网站设计、做网站、成都app软件开发、小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。
laravel 的 artisan 命令行太好用了,换个框架没有这个功能,于是自己学习实现一些,直接上代码
新建目录
-artisan
--bin
--src
进入artisan composer init
composer require symfony/console
#!/usr/bin/env php register('artisan')->setCode(function(InputInterface $input, OutputInterface $output){ $output->writeln('artisan start'); }); $app->run(); exit(); 以上是简单的实现
#!/usr/bin/env php register('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 php register('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 php add(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" } } }
看完了这篇文章,相信你对怎么实现laravel的artisan有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!