Laravel 5 模型文件夹
Laravel 5 Models Folder
我在 app/
中有一个名为 models
的目录,我将所有模型 类 放在其中。现在我想更改以下命令输出生成的目录 类
php artisan make:model SomeModel
你不能,如果你坚持 Laravel 的宇宙版本,你不应该。 Laravel 5 为其所有 class 文件提供并采用 PSR-4 命名约定。这意味着模型(以及所有 classes)应该根据它们的 完整 class 名称.
放置
当你说
php artisan make:model SomeModel
您实际上是在创建一个全名为 App\SomeModel
的模型,因此 artisan
创建了以下文件。
app/SomeModel.php
如果你说
php artisan make:model 'Test\SomeModel'
您将创建一个全名为 App\Test\SomeModel
的模型,并且 Laravel 将创建以下文件
app/Test/SomeModel.php
因此,您模型的完整 class 名称(包括命名空间)决定了 class 定义文件的位置。
我发现应该是:
php artisan make:model ModelFolder\SomeModel
如果您想在特定文件夹上手动创建模型。例如,如果您想将模型 info
创建到文件夹 Models
中。在您之前创建的文件夹模型中创建名为 info.php
的文件。这是你应该在 info.php
中编写这样的代码
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Info extends Model
{
// your code
protected $table = 'tb_users';
}
当然你也可以使用Artisan命令
php artisan make:model "Models\Info"
如果你想调用那个模型Info
你创建一个视图
<?php
$users = App\Models\Info::all();
foreach ($users as $user) {
echo $user->name;
}
它将显示所有用户名
您还可以查看创建模型时创建的 www/yourfolder/database/php 文件。
如果你太懒不想每次都输入Models
这个词,你可以试试我的https://github.com/bangnokia/laravel-models-folder
使用中等 https://medium.com/@codingcave/organizing-your-laravel-models-6b327db182f9 上的本教程对此进行研究。
它是扩展 ModelMakeCommand
的更好解决方案,这样您将 运行 php artisan make:model SomeModel
而不是 php artisan make:model 'Test\SomeModel'
并且您仍然会获得 'Test\SomeModel'
名称空间 SomeModel.php
在 'Test'
文件夹中
我在 app/
中有一个名为 models
的目录,我将所有模型 类 放在其中。现在我想更改以下命令输出生成的目录 类
php artisan make:model SomeModel
你不能,如果你坚持 Laravel 的宇宙版本,你不应该。 Laravel 5 为其所有 class 文件提供并采用 PSR-4 命名约定。这意味着模型(以及所有 classes)应该根据它们的 完整 class 名称.
放置当你说
php artisan make:model SomeModel
您实际上是在创建一个全名为 App\SomeModel
的模型,因此 artisan
创建了以下文件。
app/SomeModel.php
如果你说
php artisan make:model 'Test\SomeModel'
您将创建一个全名为 App\Test\SomeModel
的模型,并且 Laravel 将创建以下文件
app/Test/SomeModel.php
因此,您模型的完整 class 名称(包括命名空间)决定了 class 定义文件的位置。
我发现应该是:
php artisan make:model ModelFolder\SomeModel
如果您想在特定文件夹上手动创建模型。例如,如果您想将模型 info
创建到文件夹 Models
中。在您之前创建的文件夹模型中创建名为 info.php
的文件。这是你应该在 info.php
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Info extends Model
{
// your code
protected $table = 'tb_users';
}
当然你也可以使用Artisan命令
php artisan make:model "Models\Info"
如果你想调用那个模型Info
你创建一个视图
<?php
$users = App\Models\Info::all();
foreach ($users as $user) {
echo $user->name;
}
它将显示所有用户名
您还可以查看创建模型时创建的 www/yourfolder/database/php 文件。
如果你太懒不想每次都输入Models
这个词,你可以试试我的https://github.com/bangnokia/laravel-models-folder
使用中等 https://medium.com/@codingcave/organizing-your-laravel-models-6b327db182f9 上的本教程对此进行研究。
它是扩展 ModelMakeCommand
的更好解决方案,这样您将 运行 php artisan make:model SomeModel
而不是 php artisan make:model 'Test\SomeModel'
并且您仍然会获得 'Test\SomeModel'
名称空间 SomeModel.php
在 'Test'
文件夹中