我在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
有什么想法吗?
答案 0 :(得分:1)
我知道这是一个较旧的问题,但是如果你进入你的composer.json文件,你可能会看到类似......
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
你可以做的是告诉作曲家哪里 Whatever 应该是什么,比如说它是Laravel通常保存文件的不同位置(或子文件夹)。
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"Whatever\\": "app/Whatever",
}
},
答案 1 :(得分:0)
类需要存在于具有与其命名空间匹配的目录路径的文件中。这是根据PSR-0 Standard。在您的示例中,请尝试将Shoopy
类放在文件中:
app/models/Whatever/Something/Shoopy.php
然后查看自动加载器是否可以找到它。