如何为 Laravel 5.1 中的作业创建子目录?
How to make sub directories for jobs in Laravel 5.1?
我正在使用 Laravel 5.1。通常是为了创造就业机会 php artisan make:job SomeJobName
。这基本上会在 app/Jobs
目录中创建一个 SomeJobName
作业。但是,如果我的应用程序很大怎么办。我最终会在该文件夹中拥有 很多 文件。我想稍微组织一下。我想创建如下子目录:
app/Jobs/Users/
Store.php
Update.php
Delete.php
app/Jobs/Posts
Store.php
Update.php
Delete.php
推荐的方法是什么?
没问题。只需手动创建它们并遵守 PSR 命名空间规则。
例如,文件 app/Jobs/Posts/Store.php
将包含一个 class,例如:
namespace App\Jobs\Posts;
use App\Jobs\Job;
class Store extends Job {}
您可以从自动生成的版本中复制剩余的 class 或按照 documentation.
以后调整命名空间应该可以。
创建子目录(例如用户),复制您的作业(例如Store.php)
并将命名空间更改为 namespace App\Jobs\Users;
在消费脚本中,您必须使用 use App\Jobs\Users\Store;
导入它
或使用完整限定符 \App\Jobs\Users\Store
artisan make:*
命令将接受相对命名空间,因此您可以这样做:
php artisan make:job Users/Store
您甚至不需要创建 sub-directories,因为 artisan 会在它们不存在时创建它们。
我正在使用 Laravel 5.1。通常是为了创造就业机会 php artisan make:job SomeJobName
。这基本上会在 app/Jobs
目录中创建一个 SomeJobName
作业。但是,如果我的应用程序很大怎么办。我最终会在该文件夹中拥有 很多 文件。我想稍微组织一下。我想创建如下子目录:
app/Jobs/Users/
Store.php
Update.php
Delete.php
app/Jobs/Posts
Store.php
Update.php
Delete.php
推荐的方法是什么?
没问题。只需手动创建它们并遵守 PSR 命名空间规则。
例如,文件 app/Jobs/Posts/Store.php
将包含一个 class,例如:
namespace App\Jobs\Posts;
use App\Jobs\Job;
class Store extends Job {}
您可以从自动生成的版本中复制剩余的 class 或按照 documentation.
以后调整命名空间应该可以。
创建子目录(例如用户),复制您的作业(例如Store.php)
并将命名空间更改为 namespace App\Jobs\Users;
在消费脚本中,您必须使用 use App\Jobs\Users\Store;
导入它
或使用完整限定符 \App\Jobs\Users\Store
artisan make:*
命令将接受相对命名空间,因此您可以这样做:
php artisan make:job Users/Store
您甚至不需要创建 sub-directories,因为 artisan 会在它们不存在时创建它们。