Lumen 5.4 与 Laravel 可邮寄
Posted
技术标签:
【中文标题】Lumen 5.4 与 Laravel 可邮寄【英文标题】:Lumen 5.4 with Laravel Mailable 【发布时间】:2018-03-16 11:22:10 【问题描述】:天真的问题:有没有办法使用 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
那么,我如何(如果有的话)使用 artisan 来制作:邮件?如果没有成熟的 Laravel 就无法实现这一点,是否有创建 Mailable 类的模板?它们可以使用吗?
参考:
https://laravel.com/docs/5.4/mail#generating-mailables https://scotch.io/tutorials/easy-and-fast-emails-with-laravel-5-3-mailables Lumen 5.3 send email(没有品牌:邮件?)【问题讨论】:
【参考方案1】:是的,有一些软件包正好允许这样做。例如:
https://github.com/flipboxstudio/lumen-generator
如自述文件中所述,安装 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
【讨论】:
以上是关于Lumen 5.4 与 Laravel 可邮寄的主要内容,如果未能解决你的问题,请参考以下文章