gpt4 book ai didi

php - Laravel 5 应用命名空间

转载 作者:可可西里 更新时间:2023-11-01 00:31:23 25 4
gpt4 key购买 nike

我是 Laravel 5 的新手。

我在 Homestead 中设置并运行了原始应用程序。当我编写一个简单的 UserTableSeeder 并尝试使用 artisan 为 MYSQL 数据库做种时,弹出错误:“找不到类用户”。

好吧,我没有更改“app/User.php”文件中的任何内容,并且在我将命名空间 App 添加到播种器代码之后,

也就是从

User::create(array(..));

App\User::create(array(..));

播种工作正常。

当我尝试使用时发生了同样的事情

User::all();

或“routes.php”中的其他 Eloquent 查询操作。只有当我添加命名空间 App\ 时它才会起作用。

我试过 composer dump-autoload 并确保应用程序名称和“composer.json”文件与 Laravel 5 中的原始代码完全相同。

每当我们想在 Laravel 5 中使用模型时,是否必须添加命名空间 App/

我想我可能搞错了,因为在 Laravel 4 中,我们不必在这些情况下添加命名空间 App

最佳答案

在 Laravel 5 中,app 目录默认命名为 App 下。如果您查看 composer.json,您会看到 app 目录是为 psr-4 自动加载设置的:

"psr-4": {
"App\\": "app/"
},

当你想从那里或子目录中使用一个类时,你需要包含命名空间。如果你只想按原样引用类名,你也可以使用它。例如:

app/Namespace/SomeClass.php

<?php namespace App\Namespace;

use App\User;

class SomeClass {

public function someMethod()
{
$user = User::find(1);
}

}

关于php - Laravel 5 应用命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com