带有 Laravel Mailable 的 Lumen 5.4

pop*_*pop 2 laravel lumen laravel-5.4 laravel-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
}
Run Code Online (Sandbox Code Playgroud)

这是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');
Run Code Online (Sandbox Code Playgroud)

这就是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
Run Code Online (Sandbox Code Playgroud)

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

再说一次,我如何(如果有的话)使用工匠来制作:邮件?如果没有成熟的 Laravel 就无法实现,是否有模板来创建 Mailable 类?它们会可用吗?

参考:

AMS*_*777 8

是的,有一些软件包完全允许这样做。例如:

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

他们的自述文件所述,安装 Composer 包:

composer require flipbox/lumen-generator
Run Code Online (Sandbox Code Playgroud)

然后在bootstrap/app.php文件中添加:

$app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);
Run Code Online (Sandbox Code Playgroud)

如果然后php artisan在命令行上运行,您将获得新命令:

 Available commands:
  clear-compiled      Remove the compiled class file
  help                Displays help for a command
  list                Lists commands
  migrate             Run the database migrations
  optimize            Optimize the framework for better performance
  serve               Serve the application on the PHP development server
  tinker              Interact with your application
 key
  key:generate        Set the application key
 make
  make:command        Create a new Artisan command
  make:controller     Create a new controller class
  make:event          Create a new event class
  make:job            Create a new job class
  make:listener       Create a new event listener class
  make:mail           Create a new email class
  make:middleware     Create a new middleware class
  make:migration      Create a new migration file
  make:model          Create a new Eloquent model class
  make:policy         Create a new policy class
  make:provider       Create a new service provider class
  make:seeder         Create a new seeder class
  make:test           Create a new test class
Run Code Online (Sandbox Code Playgroud)