繁体   English   中英

Laravel和使用名称空间-找不到类

[英]Laravel and using namespaces - Class not found

我已经在Laravel提供的Models文件夹下创建了一个php文件。

里面我有:

// Filename: Models/Shoopy.php
namespace Whatever\Something;

class Shoopy
{
    public function Toot(){};
}

现在在另一个模型文件中,我正在使用该名称空间:

use \Whatever\Something\Shoopy;

class AnotherModel
{
    public function Spop()
    {
        $harr = new Shoopy();
    }
}

它带有Laravel错误:

class Whatever\Something\Shoopy not found

有任何想法吗?

我知道这是一个较旧的问题,但是如果您进入composer.json文件,则可能会看到类似...

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},

你可以做的是告诉作曲家那里不管是应该的,说如果它是从那里Laravel通常保持它的文件不同的位置(或子文件夹)。

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/",
        "Whatever\\": "app/Whatever",
    }
},

类需要存在于目录路径与其名称空间相匹配的文件中。 这是根据PSR-0标准 在您的示例中,尝试将Shoopy类放置在文件中:

app/models/Whatever/Something/Shoopy.php

然后查看自动装带器是否可以找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM