在 artisantinker 中调用模型类的别名

Lam*_*mar 6 namespaces laravel laravel-artisan laravel-7

这个问题可能听起来很愚蠢,但我真的很想知道是否有办法解决 artisan 命令中模型路径过长的问题。

我有一个按以下结构组织的模型:

`app\Models\Auth\User.php`
Run Code Online (Sandbox Code Playgroud)

在用户模型中,我将命名空间定义为:

namespace App\Models\Auth;

class User extends Authenticatable
{

}
Run Code Online (Sandbox Code Playgroud)

现在,每次我需要访问该模型时,例如在 artisantinker 命令中,我都需要编写以下内容:

>>> Models\Auth\User::create([..]);
Run Code Online (Sandbox Code Playgroud)

如果我省略完整路径,我只会收到错误failed to open stream: No such file or directory

有没有一种好方法可以为模型类提供别名,以便我可以在任何地方轻松访问它?

config/app.php这是一个好地方吗?我从未见过有人将模型放入别名部分,我不确定这是否是一个好主意。

Lam*_*mar 11

我刚刚意识到它是开箱即用的,我所需要做的就是运行以下命令:

composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

这将刷新自动加载类定义。

  • 为什么这有效?结果 dump-autoload 命令不会下载任何新内容,而只是重新生成需要包含在项目中的所有已知类的列表。该列表存储在“/vendor/composer/autoload_classmap.php”中。 (2认同)