{"id":1155,"date":"2017-06-09T11:05:30","date_gmt":"2017-06-09T03:05:30","guid":{"rendered":"http:\/\/www.poloo.org\/?p=1155"},"modified":"2021-04-10T11:19:48","modified_gmt":"2021-04-10T03:19:48","slug":"%e5%9c%a8laravel-5-1-%e4%b8%ad%e5%88%9b%e5%bb%ba%e8%87%aa%e5%ae%9a%e4%b9%89-artisan-%e6%8e%a7%e5%88%b6%e5%8f%b0%e5%91%bd%e4%bb%a4%e5%ae%9e%e4%be%8b","status":"publish","type":"post","link":"https:\/\/www.poloo.org\/?p=1155","title":{"rendered":"\u5728Laravel 5.1 \u4e2d\u521b\u5efa\u81ea\u5b9a\u4e49 Artisan \u63a7\u5236\u53f0\u547d\u4ee4\u5b9e\u4f8b"},"content":{"rendered":"<p>1\u3001\u5165\u95e8<\/p>\n<p>Laravel\u901a\u8fc7Artisan\u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u63a7\u5236\u53f0\u547d\u4ee4\u6765\u5904\u7406\u975e\u6d4f\u89c8\u5668\u4e1a\u52a1\u903b\u8f91\u3002\u8981\u67e5\u770bLaravel\u4e2d\u6240\u6709\u7684Artisan\u547d\u4ee4\uff0c\u53ef\u4ee5\u901a\u8fc7\u5728\u9879\u76ee\u6839\u76ee\u5f55\u8fd0\u884c\uff1a<\/p>\n<p>php artisan<br \/>\n\u5bf9\u5e94\u8f93\u51fa\u5982\u4e0b\uff08\u90e8\u5206\u622a\u56fe\uff09\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1156\" src=\"http:\/\/www.poloo.org\/uploads\/\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.55.12-1024x736.png\" alt=\"\" width=\"1024\" height=\"736\" srcset=\"https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.55.12-1024x736.png 1024w, https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.55.12-300x216.png 300w, https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.55.12-768x552.png 768w, https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.55.12.png 1722w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>\u5176\u4e2d\u4e00\u4e9b\u547d\u540d\u6211\u4eec\u5df2\u7ecf\u6bd4\u8f83\u719f\u6089\u4e86\uff0c\u6bd4\u5982\u521b\u5efa\u8fc1\u79fbmake:migration\u4ee5\u53ca\u6267\u884c\u8fc1\u79fbmigrate\uff0c\u53c8\u6bd4\u5982\u521b\u5efa\u6a21\u578bmake:model\uff0c\u521b\u5efa\u63a7\u5236\u5668make:controller\u7b49\u3002<\/p>\n<p>\u5982\u679c\u8981\u67e5\u770b\u5177\u4f53\u67d0\u4e2a\u547d\u4ee4\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u6bd4\u5982\u6211\u4eec\u8981\u67e5\u770b\u521b\u5efaArtisan\u547d\u4ee4make:console\u7684\u5177\u4f53\u7528\u6cd5\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\uff1a<\/p>\n<p>php artisan help make:console<br \/>\n\u5bf9\u5e94\u8f93\u51fa\u5982\u4e0b\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1157\" src=\"http:\/\/www.poloo.org\/uploads\/\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.57.28-1024x327.png\" alt=\"\" width=\"1024\" height=\"327\" srcset=\"https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.57.28-1024x327.png 1024w, https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.57.28-300x96.png 300w, https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.57.28-768x246.png 768w, https:\/\/www.poloo.org\/uploads\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-10.57.28.png 1764w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>2\u3001\u521b\u5efa\u547d\u4ee4<\/p>\n<p>Artisan\u9664\u4e86\u63d0\u4f9b\u4e30\u5bcc\u7684\u63a7\u5236\u53f0\u547d\u4ee4\u4e4b\u5916\uff0c\u8fd8\u5141\u8bb8\u6211\u4eec\u901a\u8fc7make:console\u547d\u4ee4\u521b\u5efa\u81ea\u5df1\u7684\u63a7\u5236\u53f0\u547d\u4ee4\u3002\u4e0a\u9762\u6211\u4eec\u5df2\u7ecf\u4f7f\u7528help\u6307\u4ee4\u67e5\u770b\u4e86make:console\u7684\u7528\u6cd5\uff0c\u4e0b\u9762\u6211\u4eec\u5c31\u6cbf\u7740\u8fd9\u6761\u8def\u8d70\u4e0b\u53bb\uff0c\u4e00\u63a2\u7a76\u7adf\uff1a\u521b\u5efa\u547d\u4ee4\u5e76\u8fd0\u884c\u8d77\u6765\u5f97\u5230\u6211\u4eec\u60f3\u8981\u7684\u5404\u79cd\u7ed3\u679c\u3002<\/p>\n<p>\u9996\u5148\u6211\u4eec\u521b\u5efa\u4e00\u4e2a\u6700\u7b80\u5355\u7684\u547d\u4ee4\uff0c\u6253\u5370Hello LaravelAcademy\uff0c\u4f7f\u7528Artisan\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n<p>php artisan make:console HelloLaravelAcademy &#8211;command=laravel:academy<br \/>\n\u5176\u4e2dHelloLaravelAcademy\u662f\u547d\u4ee4\u540d\uff0claravel:academy\u662f\u63a7\u5236\u53f0\u6267\u884c\u7684\u547d\u4ee4\uff0c\u7c7b\u4f3cmake:console\u3002<\/p>\n<p>\u6267\u884c\u5b8c\u6210\u540e\uff0c\u4f1a\u5728app\/Console\/Commands\u76ee\u5f55\u4e0b\u751f\u6210\u4e00\u4e2aHelloLaravelAcademy.php\u6587\u4ef6\uff1a<\/p>\n<p><!--?php namespace AppConsoleCommands; use IlluminateConsoleCommand; class HelloLaravelAcademy extends Command { \/** * The name and signature of the console command. * * @var string *\/ protected $signature = 'laravel:academy'; \/** * The console command description. * * @var string *\/ protected $description = 'Command description.'; \/** * Create a new command instance. * * @return void *\/ public function __construct() { parent::__construct(); } \/** * Execute the console command. * * @return mixed *\/ public function handle() { \/\/ } } \u5176\u4e2d$signature\u5373\u4e3a\u5728\u63a7\u5236\u53f0\u6267\u884c\u7684\u547d\u4ee4\u540d\uff0c$description\u4e3a\u547d\u4ee4\u63cf\u8ff0\uff0chandle\u65b9\u6cd5\u4e3a\u6267\u884c\u547d\u4ee4\u65f6\u8c03\u7528\u7684\u65b9\u6cd5\u3002 \u63a5\u4e0b\u6765\u6211\u4eec\u7b80\u5355\u7f16\u5199handle\u65b9\u6cd5\u5982\u4e0b\uff1a public function handle() { echo \"Hello LaravelAcademyn\"; } \u597d\u4e86\uff0c\u4e00\u4e2a\u6700\u7b80\u5355\u7684\u547d\u4ee4\u5df2\u7ecf\u7f16\u5199\u597d\u4e86\uff0c\u63a5\u4e0b\u6765\u8981\u600e\u4e48\u6267\u884c\u5e76\u5728\u63a7\u5236\u53f0\u6253\u5370\u51fa\u201cHello LaravelAcademy\u201d\u5462\uff1f 3\u3001\u8fd0\u884c\u547d\u4ee4 \u5728\u8fd0\u884c\u547d\u4ee4\u524d\u9700\u8981\u5c06\u5176\u6ce8\u518c\u5230AppConsoleKernel\u7684$commands\u5c5e\u6027\u4e2d\uff1a protected $commands = [ ... \/\/\u5176\u4ed6\u547d\u4ee4\u7c7b AppConsoleCommandsHelloLaravelAcademy::class ]; \u63a5\u4e0b\u6765\u6211\u4eec\u5c31\u53ef\u4ee5\u5728\u63a7\u5236\u53f0\u8fd0\u884c\u5982\u4e0bArtisan\u547d\u4ee4\uff1a php artisan laravel:academy \u7ec8\u7aef\u5c31\u4f1a\u6253\u5370\u51fa\uff1a Hello LaravelAcademy \u662f\u4e0d\u662f\u5f88\u7b80\u5355\uff1f 4\u3001\u66f4\u591a\u6837\u7684\u8f93\u5165\u8f93\u51fa \u5f53\u7136\uff0c\u4e0a\u9762\u662f\u6700\u7b80\u5355\u7684\u60c5\u5f62\uff0c\u6ca1\u6709\u8f93\u5165\uff0c\u5199\u6b7b\u7684\u8f93\u51fa\u3002\u5b9e\u9645\u73af\u5883\u4e2d\u6709\u66f4\u590d\u6742\u7684\u9700\u6c42\uff0c\u6709\u66f4\u591a\u6837\u7684\u8f93\u5165\u8f93\u51fa\uff0c\u4e0b\u9762\u6211\u4eec\u6765\u4e00\u4e00\u8ba8\u8bba\u3002 \u5b9a\u4e49\u8f93\u5165 \u4e0a\u9762\u5df2\u7ecf\u63d0\u5230\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539$signature\u5c5e\u6027\u5b9a\u4e49\u8f93\u5165\u53c2\u6570\u53ca\u9009\u9879\uff0c\u6bd4\u5982\u8fd9\u91cc\u6211\u4eec\u5c06\u4e0a\u8ff0Hello\u540e\u9762\u7684\u5b57\u7b26\u4e32\u8c03\u6574\u4e3a\u901a\u8fc7\u8f93\u5165\u53c2\u6570\u6765\u63a7\u5236\uff0c\u53ef\u4fee\u6539$signature\u5982\u4e0b\uff1a protected $signature = 'laravel:academy {name}'; \u8fd9\u6837\u5b9a\u4e49\u610f\u5473\u7740name\u662f\u5fc5\u9009\u53c2\u6570\uff0c\u5f53\u7136\u8fd8\u652f\u6301\u66f4\u591a\u81ea\u5b9a\u4e49\u53c2\u6570\u8f93\u5165\uff1a {name?} \/\/\u53ef\u9009\u53c2\u6570 {name=LaravelAcademy} \/\/\u9ed8\u8ba4name\u503c\u4e3aLaravelAcademy \u4e3a\u589e\u5f3a\u7a0b\u5e8f\u5065\u58ee\u6027\uff0c\u6211\u4eec\u5c06name\u4fee\u6539\u4e3a\u6709\u9ed8\u8ba4\u503c\uff1a protected $signature = 'laravel:academy {name=LaravelAcademy}'; \u6709\u65f6\u5019\u6211\u4eec\u8fd8\u4f1a\u5728\u6267\u884c\u547d\u4ee4\u65f6\u4f20\u5165\u4e00\u4e9b\u9009\u9879\uff0c\u6bd4\u5982\u662f\u5426\u663e\u793a\u6807\u70b9\u7b26\u53f7\uff08\u867d\u7136\u542c\u4e0a\u53bb\u5f88\u9e21\u808b\uff0c\u8fd9\u91cc\u6743\u5f53\u6d4b\u8bd5\u4e4b\u7528\uff09\uff0c \u90a3\u4e48\u6211\u4eec\u53ef\u4ee5\u4fee\u6539$signature\u5c5e\u6027\u5982\u4e0b\uff1a protected $signature = 'laravel:academy {name=LaravelAcademy} {--mark}'; \u5982\u679c\u8c03\u7528\u547d\u4ee4\u65f6\u4f20\u9012--mark\u5219\u4ee3\u8868\u5176\u503c\u4e3atrue\uff0c\u5426\u5219\u4e3afalse\uff0c\u5982\u679c\u9009\u9879\u503c\u5728\u8f93\u5165\u65f6\u901a\u8fc7\u7528\u6237\u8bbe\u7f6e\uff0c\u53ef\u5b9a\u4e49$signature\u5982\u4e0b\uff1a protected $signature = 'laravel:academy {name=LaravelAcademy} {--mark=}'; \u8fd9\u6837\u7528\u6237\u5c31\u53ef\u4ee5\u5728\u4f20\u5165\u9009\u9879\u65f6\u901a\u8fc7=\u6765\u4e3a\u9009\u9879\u8d4b\u503c\uff0c\u5f53\u7136\u548c\u53c2\u6570\u4e00\u6837\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u4e3a\u9009\u9879\u6307\u5b9a\u9ed8\u8ba4\u503c\uff1a protected $signature = 'laravel:academy {name=LaravelAcademy} {--mark=!}'; \u83b7\u53d6\u8f93\u5165 \u5b9a\u4e49\u597d\u8f93\u5165\u53c2\u6570\u548c\u9009\u9879\u540e\uff0c\u53c8\u8be5\u5982\u4f55\u83b7\u53d6\u5176\u5bf9\u5e94\u503c\u5462\uff1fLaravel\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u76f8\u5e94\u7684\u65b9\u6cd5\u3002 \u83b7\u53d6\u53c2\u6570\u503c\u53ef\u4ee5\u901a\u8fc7IlluminateConsoleCommand\u7684argument\u65b9\u6cd5\uff1a $name = $this-&gt;argument('name');&lt;br ?--> \u5982\u679c\u65e0\u53c2\u8c03\u7528argument\u65b9\u6cd5\uff0c\u5219\u8fd4\u56de\u7684\u662f\u6240\u6709\u53c2\u6570\u503c\u6570\u7ec4\u3002<\/p>\n<p>\u83b7\u53d6\u9009\u9879\u503c\u53ef\u4ee5\u901a\u8fc7IlluminateConsoleCommand\u7684option\u65b9\u6cd5\uff1a<\/p>\n<p>$mark = $this-&gt;option(&#8216;mark&#8217;);<br \/>\n\u540c\u7406\uff0c\u65e0\u53c2\u8c03\u7528option\u65b9\u6cd5\u4f1a\u8fd4\u56de\u6240\u6709\u9009\u9879\u503c\u6570\u7ec4\u3002<\/p>\n<p>\u8fd9\u6837\u6211\u4eec\u53ef\u4ee5\u4fee\u6539HelloLaravelAcademy\u7684handle\u65b9\u6cd5\u5982\u4e0b\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$name = $this-&gt;argument(&#8216;name&#8217;);<br \/>\n$mark = $this-&gt;option(&#8216;mark&#8217;);<\/p>\n<p>$string = &#8216;Hello &#8216;.$name;<br \/>\nif($mark)<br \/>\n$string .= $mark;<\/p>\n<p>echo $string.&#8221;n&#8221;;<br \/>\n}<br \/>\n\u8fd9\u6837\u6211\u4eec\u5728\u63a7\u5236\u53f0\u8f93\u5165\u5982\u4e0bArtisan\u547d\u4ee4\uff1a<\/p>\n<p>php artisan laravel:academy<br \/>\n\u5bf9\u5e94\u8f93\u51fa\u4e3a\uff1a<\/p>\n<p>Hello LaravelAcademy!<br \/>\n\u518d\u8fd0\u884c\u5982\u4e0bArtisan\u547d\u4ee4\uff1a<\/p>\n<p>php artisan laravel:academy Laravel &#8211;mark=?<br \/>\n\u5bf9\u5e94\u8f93\u51fa\u4e3a\uff1a<\/p>\n<p>Hello Laravel?<br \/>\n\u8f93\u5165\u63d0\u793a<\/p>\n<p>\u6211\u4eec\u751a\u81f3\u8fd8\u53ef\u4ee5\u5b8c\u5168\u8ba9\u7528\u6237\u901a\u8fc7\u5728\u63a7\u5236\u53f0\u8f93\u5165name\u6765\u83b7\u53d6\u8f93\u5165\u53c2\u6570\uff0c\u9996\u5148\u4fee\u6539handle\u65b9\u6cd5\u5982\u4e0b\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$name = $this-&gt;ask(&#8216;What do you want to say Hello?&#8217;);<br \/>\necho &#8220;Hello &#8220;.$name.&#8221;n&#8221;;<br \/>\n}<br \/>\n\u7136\u540e\u5728\u7ec8\u7aef\u8f93\u5165php artisan laravel:academy\uff0c\u4ea4\u4e92\u9875\u9762\u5982\u4e0b\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large\" src=\"http:\/\/laravelacademy.org\/wp-content\/uploads\/2015\/10\/2015-10-19_224643.jpg?_=5706624\" width=\"610\" height=\"100\" \/><\/p>\n<p>\u5982\u679c\u662f\u8f93\u5165\u5bc6\u7801\u4e00\u7c7b\u7684\u654f\u611f\u4fe1\u606f\u53ef\u4ee5\u7528secret\u66ff\u4ee3ask\u65b9\u6cd5\u3002<\/p>\n<p>\u6709\u65f6\u5019\u6211\u4eec\u4f1a\u6839\u636e\u7528\u6237\u7684\u610f\u613f\u9009\u62e9\u7ee7\u7eed\u8fd8\u662f\u4e2d\u6b62\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\nif($this-&gt;confirm(&#8216;Do you want to continue?[y|n]&#8217;)){<br \/>\n$this-&gt;info(&#8220;Continue&#8221;);<br \/>\n}else{<br \/>\n$this-&gt;error(&#8220;Interrupt&#8221;);<br \/>\n}<br \/>\n}<br \/>\n\u5bf9\u5e94\u8f93\u51fa\u4e3a\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1269\" src=\"http:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_232437.jpg\" width=\"654\" height=\"197\" alt=\"2015-10-19_232437\" title=\"2015-10-19_232437\" srcset=\"https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_232437.jpg 654w, https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_232437-300x90.jpg 300w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u9664\u4e86\u8ba9\u7528\u6237\u624b\u52a8\u8f93\u5165\u5916\uff0c\u8fd8\u53ef\u4ee5\u4f7f\u7528anticipate\u65b9\u6cd5\u5b9e\u73b0\u81ea\u52a8\u5b8c\u6210\u529f\u80fd\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$name = $this-&gt;anticipate(&#8216;What is your name?&#8217;, [&#8216;Laravel&#8217;, &#8216;Academy&#8217;]);<br \/>\n$this-&gt;info($name);<br \/>\n}<br \/>\n\u5f53\u7136\u8fd8\u53ef\u4ee5\u4f7f\u7528choice\u65b9\u6cd5\u4e3a\u7528\u6237\u63d0\u4f9b\u9009\u62e9\u907f\u514d\u624b\u52a8\u8f93\u5165\uff0c\u7528\u6237\u53ea\u9700\u9009\u62e9\u5bf9\u5e94\u7d22\u5f15\u5373\u53ef\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$name = $this-&gt;choice(&#8216;What is your name?&#8217;, [&#8216;Laravel&#8217;, &#8216;Academy&#8217;]);<br \/>\n$this-&gt;info($name);<br \/>\n}<br \/>\n\u5bf9\u5e94\u4ea4\u4e92\u9875\u9762\u5982\u4e0b\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1280\" src=\"http:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_233106-1.jpg\" width=\"594\" height=\"132\" alt=\"2015-10-19_233106-1\" title=\"2015-10-19_233106-1\" srcset=\"https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_233106-1.jpg 594w, https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_233106-1-300x67.jpg 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/p>\n<p>\u7f16\u5199\u8f93\u51fa<\/p>\n<p>\u5173\u4e8e\u8f93\u51fa\u5b57\u7b26\u4e32\uff0c\u4e0a\u9762\u6211\u4eec\u7b80\u5355\u4f7f\u7528\u4e86echo\u8bed\u53e5\uff0c\u5176\u5b9eLaravel\u63d0\u4f9b\u4e86\u66f4\u4e3a\u5f3a\u5927\u548c\u591a\u6837\u5316\u7684\u65b9\u6cd5\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$this-&gt;info(&#8220;Successful!&#8221;);<br \/>\n$this-&gt;error(&#8220;Something Error!&#8221;);<br \/>\n$this-&gt;question(&#8220;What do you want to do?&#8221;);<br \/>\n$this-&gt;comment(&#8220;Just Comment it!&#8221;);<br \/>\n}<br \/>\n\u6267\u884cphp artisan laravel:academy\u5bf9\u5e94\u8f93\u51fa\u5982\u4e0b\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1273\" src=\"http:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_225422.jpg\" width=\"613\" height=\"83\" alt=\"2015-10-19_225422\" title=\"2015-10-19_225422\" srcset=\"https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_225422.jpg 613w, https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_225422-300x41.jpg 300w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><\/p>\n<p>\u8868\u683c<\/p>\n<p>Artisan\u751a\u81f3\u53ef\u4ee5\u8f93\u51fa\u8868\u683c\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$headers = [&#8216;Name&#8217;, &#8216;Email&#8217;];<br \/>\n$users = AppUser::all([&#8216;name&#8217;, &#8217;email&#8217;])-&gt;toArray();<br \/>\n$this-&gt;table($headers, $users);<br \/>\n}<br \/>\n\u6267\u884cphp artisan laravel:academy\u5bf9\u5e94\u8f93\u51fa\u4e3a\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1276\" src=\"http:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_225643.jpg\" width=\"564\" height=\"145\" alt=\"2015-10-19_225643\" title=\"2015-10-19_225643\" srcset=\"https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_225643.jpg 564w, https:\/\/www.poloo.org\/uploads\/2017\/06\/2015-10-19_225643-300x77.jpg 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/p>\n<p>\u8fdb\u5ea6\u6761<\/p>\n<p>\u5f53\u7136\u5bf9\u4e8e\u590d\u6742\u8017\u65f6\u7684\u547d\u4ee4\uff0c\u8fdb\u5ea6\u6761\u662f\u5fc5\u4e0d\u53ef\u5c11\u7684\uff0c<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$this-&gt;output-&gt;progressStart(10);<\/p>\n<p>for ($i = 0; $i &lt; 10; $i++) { sleep(1); $this-&gt;output-&gt;progressAdvance();<br \/>\n}<\/p>\n<p>$this-&gt;output-&gt;progressFinish();<br \/>\n}<br \/>\n\u6267\u884cphp artisan laravel:academy\u5bf9\u5e94\u8f93\u51fa\u4e3a\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1158\" src=\"http:\/\/www.poloo.org\/uploads\/\/2017\/06\/\u5c4f\u5e55\u5feb\u7167-2017-06-09-11.02.33.png\" alt=\"\" width=\"376\" height=\"46\" \/><\/p>\n<p>5\u3001\u4eceCLI\u4e4b\u5916\u8c03\u7528Artisan<\/p>\n<p>\u9664\u4e86\u5728\u63a7\u5236\u53f0\u6267\u884cArtisan\u547d\u4ee4\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7\u4ee3\u7801\u5728\u522b\u5904\u8c03\u7528Artisan\u547d\u4ee4\uff0c\u6bd4\u5982\u5176\u5b83Artisan\u547d\u4ee4\u3001\u63a7\u5236\u5668\u3001\u8def\u7531\u6216\u5176\u4ed6\u3002<\/p>\n<p>\u8def\u7531<\/p>\n<p>\u5728\u8def\u7531\u95ed\u5305\u4e2d\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7Artisan\u95e8\u9762\u7684call\u65b9\u6cd5\u6765\u8c03\u7528\u672c\u8282\u521b\u5efa\u7684\u547d\u4ee4\uff1a<\/p>\n<p>\/\/\u5728\u8def\u7531\u4e2d\u8c03\u7528Artisan\u547d\u4ee4<br \/>\nRoute::get(&#8216;testArtisan&#8217;,function(){<br \/>\n$exitCode = Artisan::call(&#8216;laravel:academy&#8217;, [<br \/>\n&#8216;name&#8217; =&gt; &#8216;Laravel\u5b66\u9662&#8217;, &#8216;&#8211;mark&#8217; =&gt; &#8216;\uff01&#8217;<br \/>\n]);<br \/>\n});<br \/>\n\u5176\u5b83Artisan\u547d\u4ee4<\/p>\n<p>\u5728\u4e00\u4e2aArtisan\u547d\u4ee4\u4e2d\u4e5f\u53ef\u4ee5\u8c03\u7528\u53e6\u4e00\u4e2aArtisan\u547d\u4ee4\uff0c\u8fd8\u662f\u901a\u8fc7call\u65b9\u6cd5\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$this-&gt;call(&#8216;inspire&#8217;);<br \/>\n}<br \/>\n\u5982\u679c\u60f3\u8981\u8c03\u7528\u4e00\u4e2aArtisan\u547d\u4ee4\u5e76\u963b\u6b62\u5176\u6240\u6709\u8f93\u51fa\uff0c\u53ef\u4ee5\u4f7f\u7528callSilent\u65b9\u6cd5\uff1a<\/p>\n<p>public function handle()<br \/>\n{<br \/>\n$this-&gt;callSilent(&#8216;inspire&#8217;);<br \/>\n}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001\u5165\u95e8 Laravel\u901a\u8fc7Artisan\u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u63a7\u5236\u53f0\u547d\u4ee4\u6765\u5904&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[167,36],"class_list":["post-1155","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-Php","tag-laravel","tag-php-2"],"_links":{"self":[{"href":"https:\/\/www.poloo.org\/index.php?rest_route=\/wp\/v2\/posts\/1155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.poloo.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.poloo.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.poloo.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.poloo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1155"}],"version-history":[{"count":8,"href":"https:\/\/www.poloo.org\/index.php?rest_route=\/wp\/v2\/posts\/1155\/revisions"}],"predecessor-version":[{"id":1281,"href":"https:\/\/www.poloo.org\/index.php?rest_route=\/wp\/v2\/posts\/1155\/revisions\/1281"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.poloo.org\/index.php?rest_route=\/wp\/v2\/media\/1159"}],"wp:attachment":[{"href":"https:\/\/www.poloo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.poloo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.poloo.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}