我正在尝试编写好的代码,其中一部分是类型提示,以便更轻松地完成工作并强制执行期望。
这可能看起来有点做作,但对我来说更像是一个概念证明。
我正在编写一个类来获取在选项卡上拆分的 TSV 文件并插入到我的模型中。在我的构造函数中,我要求:
Illuminate\Database\Eloquent\Model
我通过的:
new \App\Model()
最后是错误响应:
instance of App\Model given
显然我做错了什么,但我不想强制使用 App\Model,我怎么能笼统地要求一个 Eloquent 模型?
编辑更多信息:
为了更清楚,我使用的是 Laravel 5,模型是通过 artisan make:model 创建的。构造函数如下:
function __construct ($resource, Illuminate\Database\Eloquent\Model $model, $skip = 0)
我正在使用的模型(用于我的电影 table )是:
use Illuminate\Database\Eloquent\Model;
class Movie extends Model {
最佳答案
在您的类型提示中,在 FQCN 前加一个反斜杠:
function __construct ($resource, \Illuminate\Database\Eloquent\Model $model, $skip = 0)
或者,或者将 use
语句添加到您的类中:
use Illuminate\Database\Eloquent\Model;
class MyClass {
function __construct ($resource, Model $model, $skip = 0) {
//
}
}
关于php - 类型提示 Eloquent 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30405924/