Lumen 5.4与Laravel Mailable合作

时间:2017-10-04 23:05:29

标签: laravel laravel-5.4 lumen artisan

天真的问题:有没有办法使用Artisan在Lumen框架内创建一个Mailable类,如下所示:php artisan make:mail OrderShipped(示例来自文档)。

这是 composer.json

{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=5.6.4",
    "laravel/lumen-framework": "5.4.*",
    "vlucas/phpdotenv": "~2.2",
    "firebase/php-jwt": "^4.0",
    "guzzlehttp/guzzle": "^6.3",
    "illuminate/mail": "5.4",
    "phanan/cascading-config": "~2.0"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "phpunit/phpunit": "~5.0",
    "mockery/mockery": "~0.9"
},
"autoload": {
    "psr-4": {
        "App\\": "app/"
    }
},
"autoload-dev": {
    "classmap": [
        "tests/",
        "database/"
    ]
},
"scripts": {
    "post-root-package-install": [
        "php -r \"copy('.env.example', '.env');\""
    ]
},
"minimum-stability": "dev",
"prefer-stable": true
}

这是 bootstrap / app.php 的修改方式(添加了所有这些):

$app->withFacades( true, [
  'Illuminate\Support\Facades\Mail' => 'Mail',
]);

$app->register(\Illuminate\Mail\MailServiceProvider::class);
$app->configure('mail');
$app->alias('mailer','Illuminate\Mail\Mailer');
config('mail');

这就是php artisan给我的:

Laravel Framework Lumen (5.4.7) (Laravel Components 5.4.*)

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  help                Displays help for a command
  list                Lists commands
  migrate             Run the database migrations
 auth
  auth:clear-resets   Flush expired password reset tokens
 cache
  cache:clear         Flush the application cache
  cache:forget        Remove an item from the cache
  cache:table         Create a migration for the cache database table
 db
  db:seed             Seed the database with records
 make
  make:migration      Create a new migration file
  make:seeder         Create a new seeder class
 migrate
  migrate:install     Create the migration repository
  migrate:refresh     Reset and re-run all migrations
  migrate:reset       Rollback all database migrations
  migrate:rollback    Rollback the last database migration
  migrate:status      Show the status of each migration
 queue
  queue:failed        List all of the failed queue jobs
  queue:failed-table  Create a migration for the failed queue jobs database table
  queue:flush         Flush all of the failed queue jobs
  queue:forget        Delete a failed queue job
  queue:listen        Listen to a given queue
  queue:restart       Restart queue worker daemons after their current job
  queue:retry         Retry a failed queue job
  queue:table         Create a migration for the queue jobs database table
  queue:work          Start processing jobs on the queue as a daemon
 schedule
  schedule:run        Run the scheduled commands

我使用的是OS X El Capitan,Apache2,PHP 5.6.31

再次,如何(如果有的话)我可以使用工匠制作:邮件?如果没有完整的Laravel,这是不可能实现的,是否有创建Mailable类的模板?它们可以使用吗?

参考:

1 个答案:

答案 0 :(得分:3)

是的,有些软件包可以完全允许。例如:

https://github.com/flipboxstudio/lumen-generator

正如在自述文件中所述,安装Composer软件包:

b"a".to_vec().into_iter().flat_map(|b| (0u8..8).map(move |i| (b >> i) & 1)).collect::<Vec<u8>>()

然后添加composer require flipbox/lumen-generator 文件:

bootstrap/app.php

如果然后在命令行上运行$app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class); ,则会收到新命令:

php artisan