1. 一.创建命令
  2. php artisan make:console SendEmails
  3.  
  4. 上述命令将会生成一个类app/Console/Commands/SendEmails.php,当创建命令时,--command选项可用于分配终端命令名(在终端调用命令时用):
  5.  
  6. php artisan make:console SendEmails --command=emails:send
  7.  
  8. 二.生成的命令如下
  9. <?php
  10.  
  11. namespace Youxin\Console\Commands;
  12.  
  13. use Illuminate\Console\Command;
  14. use Log;
  15.  
  16. class SendEmails extends Command
  17. {
  18. /**
  19. * The name and signature of the console command.
  20. *
  21. * @var string
  22. */
  23. protected $signature = 'emails:send {user}'; //接受一个参数
  24.  
  25. /**
  26. * The console command description.
  27. *
  28. * @var string
  29. */
  30. protected $description = '这是发送邮件的命令';
  31.  
  32. /**
  33. * Create a new command instance.
  34. *
  35. * @return void
  36. */
  37. public function __construct()
  38. {
  39. parent::__construct();
  40. }
  41.  
  42. /**
  43. * Execute the console command.
  44. *
  45. * @return mixed
  46. */
  47. public function handle()
  48. {
  49. // 输入提示
  50. //$name = $this->ask('你确实要发邮件吗?');
  51. // 输入密码
  52. //$password = $this->secret('What is the password?');
  53. // 执行一个用户确认
  54. if ($this->confirm('你确实要发邮件吗? [y|N]')) {
  55. //$this->info('正在发送邮件');//打印提示信息到控制台
  56. $this->error('正在发送邮件');//打印错误信息到控制台
  57. Log::alert('给用户' . $this->argument('user'). '发送了邮件'); //取出参数user
  58. }
  59. }
  60. }
  61.  
  62. 三.注册命令
  63. 命令编写完成后,需要注册到Artisan才可以使用,这可以在app/Console/Kernel.php文件中完成。
  64.  
  65. protected $commands = [
  66. Commands\SendEmails::class,
  67. ];
  68.  
  69. 四.调用命令
  70. 查看所有可用命令:
  71. php artisan list //应该可以查看到刚才创建的命令emails:send
  72. 查看命令帮助:
  73. php artisan help migrate
  74.  
  75. 1.控制台调用命令
  76. artisan email:send john
  77.  
  78. 2.代码调用
  79. Route::get('/foo', function () {
  80. $exitCode = Artisan::call('email:send', [
  81. 'user' => 1
  82. ]);
  83. });
  84.  
  85. 3.在其他控制台命令中调用
  86. /**
  87. * 执行控制台命令
  88. *
  89. * @return mixed
  90. */
  91. public function handle(){
  92. $this->call('email:send', [
  93. 'user' => 1
  94. ]);
  95. }

  

Laravel之命令的更多相关文章

  1. laravel artisan 命令工具

    //全局相关 php artisan:显示详细的命令行帮助信息,同 php artisan list php artisan –help:显示帮助命令的使用格式,同 php artisan help ...

  2. 使用composer命令创建laravel项目命令详解

    composer命令创建laravel项目的命令是: composer create-project --prefer-dist laravel/laravel blog "5.2.*&qu ...

  3. laravel 常用命令

    1.创建控制器 php artisan make:controller ArticleController // 带 restful 风格 php artisan make:controller Ar ...

  4. Laravel常用命令行中文版

    1.生成控制器 php artisan make:controller ArticleController 对应的会在app/http/controllers下面生成ArticleController ...

  5. Laravel artisan 命令

    获取命令列表 php artisan Laravel Framework 7.26.0 Usage: command [options] [arguments] Options: -h, --help ...

  6. laravel 自定义命令

    1.自定义命令:将自定义命令保存在app/Console/Commands,也可以在composer.json文件配置自动加载,自由选择想要放置的地方 php artisan make:console ...

  7. laravel ORM 命令2

    一.查询 获取数据库所有数据 Model::all() 获取指定条件数据 Modle::where('status','1')->get() 获取第一条数据 Model::where('stat ...

  8. laravel artisan 命令列表

    5.4版本新增 命令 说明 备注 php artisan make:resource ? 创建api返回格式化资源 >=5.4版本可用 php artisan make:rule ? 创建val ...

  9. laravel command命令行

    生成类 为了创建一个新命令,你可以使用Artisan中的 command:make 命令生成一个骨架作为你的起点: 生成一个命令类 php artisan command:make FooComman ...

随机推荐

  1. .NET 4.0中使用sqlite

    原文发布时间为:2011-12-10 -- 来源于本人的百度文章 [由搬家工具导入] http://www.csharpcity.com/sqlite-ado-net-c-4-0/ Getting S ...

  2. matlab 分析wav波形

    [x,fs,bits]=wavread('d.wav', [1 5000]); % sound(x, fs, bits); N = length(x); n = 0 : N-1; t = n/fs; ...

  3. memset和wmemset用法记录

    char cBuffer[50] ;TCHAR wBuffer[50]; 1.将cBuffer初始化为空格memset(cBuffer, ' ', sizeof(cBuffer));第三个参数为字节数 ...

  4. HTML5初学笔记

    今天学习了下HTML5的基本知识,用画笔在画布上画了几个东西,效果如图,相关代码如下,注意点总结在末尾: <!DOCTYPE html> <html> <head> ...

  5. Linux操作常识

    1.分区 linux如果手动选择分区,必须的两个分区是根分区和swap分区,swap分区是与内存的交换分区,通常设置大小为内存的两倍(如果内存够大也可以不用设置) 2.关机重启      命令:shu ...

  6. AC日记——Dining poj 3281

    [POJ-3281] 思路: 把牛拆点: s向食物连边,流量1: 饮料向t连边,流量1: 食物向牛1连边,流量1: 牛2向饮料连边,流量1: 最大流: 来,上代码: #include <cstd ...

  7. Nginx的proxy_pass及upstream的小型负载均衡

    proxy_pass Nginx的proxy_pass将请求代理到其他的后端服务器.例如 listen 9999; server_name wyc.com; location /test/aaa { ...

  8. SQL 增删改查 复习

    首先创建两张表 CREATE TABLE Teacher ( Id ,) NOT NULL PRIMARY KEY, Name ) NOT NULL, ); CREATE TABLE Student ...

  9. Django学习笔记2:处理表单

    1.HTTP请求 HTTP协议以"请求-回复"的方式工作. 客户发送请求时,可以在请求中附加数据.服务器通过解析请求,就可以获得客户传来的数据,并根据URL来提供特定的服务. (1 ...

  10. NHibernate官方文档——第八章 继承映射(Inheritance Mapping)

    本文翻译自NHibernate官方文档NHibernate Reference Documentation 4.1. 受限于个人知识水平,有些地方翻译可能不准确,但是我还是希望我的这些微薄的努力能为他 ...