Laravel 在应用命名空间之外创建模型

Laravel create model outside app namespace

我想使用命令 php artisan make:model User 在域文件夹中创建用户。尽管如此,它最终还是会出现在 App 文件夹中。

我已经试过了:

应用程序文件夹:

app
 |    
 +-- App
 |
 |    
 +-- Domain
 |
 |    
 +-- Http

作曲家文件:

"autoload": {
    "psr-4": {
      "App\": "app/App/",
      "Domain\": "app/Domain/",
      "Http\": "app/Http/",
      "Support\": "app/Support/"
    },

更新

php artisan make:model ../Domain/User 解决了模型的问题。我仍然有控制器的问题 php artisan make:controller ../Http/UserController

在 Laravel 5.4 或以后。您可以创建如下

  php artisan make:model "Domain\User"

Use " (double quotes) or ' (single quotes) to create model

看这里

artisan make:model specify the directory and namespace?

不确定为什么需要在默认位置之外创建模型。

Artisan make 命令将尝试根据您 运行ning 的命令将文件存储在标准位置。

例如,php artisan make:model User 将在 app 目录(模型的默认目录)中创建模型。因此,假设您的模型所需的目的地是上面的一个目录并且名称为域,您可以 运行 以下命令:

php artisan make:model ../Domain/User

请注意,../Domain/ 是相对于该命令的默认位置。

对于控制器,知道默认目录是app/http/Controller并且你想在Domain/http/Controller中生成一个控制器你可以使用以下命令来完成:

php artisan make:controller ../../../Domain/Http/UserController

请注意,这并不常见,也不符合标准。

Hape 可以帮助您实现目标