首页 > 解决方案 > Laravel 在应用命名空间外创建模型

问题描述

我想使用该命令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

标签: phplaravellaravel-5.8laravel-artisan

解决方案


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

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

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

php artisan make:model ../Domain/User

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

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

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

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

Hape 可以帮助您实现您想要实现的目标


推荐阅读