Php Laravel在应用程序名称空间之外创建模型
我想使用命令Php Laravel在应用程序名称空间之外创建模型,php,laravel,laravel-5.8,laravel-artisan,Php,Laravel,Laravel 5.8,Laravel Artisan,我想使用命令php artisan make:model User在域文件夹中创建用户。尽管如此,它最终还是会出现在应用程序文件夹中 我已经试过了: php artisan make:model Domain\User php artisan make:model Domain\\User php artisan make:model\\Domain\\User php artisan make:模型域/用户 应用程序文件夹: app | +-- App | | +
php artisan make:model User
在域文件夹中创建用户。尽管如此,它最终还是会出现在应用程序文件夹中
我已经试过了:
php artisan make:model Domain\User
php artisan make:model Domain\\User
php artisan make:model\\Domain\\User
php artisan make:模型域/用户
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
解决了模型的问题。在Laravel 5.4或更高版本中,我仍然遇到控制器php artisan make:controller../Http/UserController
的问题。您可以创建如下所示
php artisan make:model "Domain\User"
使用“(双引号)或“(单引号)创建模型
看这里
不确定为什么需要在默认位置之外创建模型 Artisan make命令将根据您运行的命令尝试将文件存储在标准位置 例如,
php artisan make:model User
将在app
目录(模型的默认目录)中创建模型。因此,假设模型的目标是上面的一个目录,并且具有名称域,则可以运行以下命令:
php artisan make:model ../Domain/User
请注意,。/Domain/
相对于该命令的默认位置
对于控制器,知道默认目录是app/http/controller
,并且您想在Domain/http/controller
中生成控制器,可以使用以下命令:
php artisan make:model ../Domain/User
php-artisan-make:controller../../../Domain/Http/UserController
请注意,这并不常见,也不符合标准
也许这有助于你实现你的目标谢谢,这很有效。名称空间不正确,但可以。你需要在哪里创建控制器?在我的Http文件夹中。我也尝试在我的域文件夹中创建一个控制器,但文件会转到应用文件夹。看看我更新的答案。希望这有帮助。不,这对我来说不起作用还是我,还是一样的结果。