Laravel 5模型文件夹

Ala*_*lan 31 php model laravel artisan

我有一个名为modelsinside 的目录app/,我放置了所有的模型类.现在我想更改以下命令输出生成的类的目录

php artisan make:model SomeModel
Run Code Online (Sandbox Code Playgroud)

Ala*_*orm 53

如果你正在研究Laravel的宇宙版本,你就不应该这样做.Laravel 5为其所有类文件提供并假设PSR-4命名约定.这意味着模型(和所有类)应根据其完整的类名放置.

当你说

php artisan make:model SomeModel
Run Code Online (Sandbox Code Playgroud)

您实际上是在创建一个全名的模型App\SomeModel,因此artisan创建以下文件.

app/SomeModel.php
Run Code Online (Sandbox Code Playgroud)

如果你说

php artisan make:model 'Test\SomeModel'
Run Code Online (Sandbox Code Playgroud)

您将使用全名创建模型App\Test\SomeModel,Laravel将创建以下文件

app/Test/SomeModel.php
Run Code Online (Sandbox Code Playgroud)

因此,它是您的模型的完整类名(包括名称空间),用于确定类定义文件的位置.


Tra*_*ang 11

我发现它应该是:

php artisan make:model ModelFolder\\SomeModel
Run Code Online (Sandbox Code Playgroud)

  • 实际上它应该有一个反斜杠 (4认同)
  • 看看Laravel源代码,如果你把路径命名为`app/myspace/etc`,Laravel会使用`str_replace()`将所有`/`更改为`\\`,所以使用单正斜杠'OR'双反斜杠(即逃脱)应该工作,这是你的选择! (3认同)