我的软件包需要模型,但是我找到了一个找不到类的错误,为什么我会尝试这样做:
MyModel::all();
我的模型文件夹在src下,在我的composer.json文件中,我有:
"autoload": {
"classmap": [
"src/migrations",
"src/models"
],
我也跑了:
composer dump-autoload
这是我的模型文件:
<?php
class MyModel extends Eloquent {
}
我是否需要将模型命名为与我的包名称相同?
答案 0 :(得分:0)
首先,所有包类都应该是命名空间,你应该知道PHP命名空间是如何工作的。我建议使用composer psr-4自动加载。
其次,您需要使用完全限定的类名而不是全局名称空间别名。 Eloquent
实际上是Illuminate\Database\Eloquent\Model
。您可以在app/config/app.php
文件中找到所有别名。