如何在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

推荐的方法是什么?

artisan make:*命令将接受一个相对命名空间,因此您可以这样做:

php artisan make:job Users/Store

你甚至不需要创建子目录,因为如果它们不存在,artisan会创建它们。

没问题。只需手动创建它们并遵守PSR命名空间规则。

例如,文件app/Jobs/Posts/Store.php将保存一个类:

namespace App'Jobs'Posts;
use App'Jobs'Job;
class Store extends Job {}

您可以从自动生成的版本复制类的其余部分,或者遵循文档。

如果您在之后调整名称空间,应该是可能的。

创建子目录(例如:用户),复制您的作业(例如。Store.php)并将命名空间修改为namespace App'Jobs'Users;在消费脚本中,您必须使用use App'Jobs'Users'Store;导入它或者使用完整的限定符'App'Jobs'Users'Store