首页 文章

Lumen 5.4与Laravel Mailable合作

提问于
浏览
0

天真的问题:有没有办法使用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 回答

  • 2

    是的,有一些包可以准确地允许 . 例如:

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

    作为 stated on their readme ,安装Composer包:

    composer require flipbox/lumen-generator
    

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

    $app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);
    

    如果然后在命令行上运行 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
    

相关问题