我正在使用Laravel 5.3。在我的表单请求中扩展了请求类,我试图从父类访问方法,但它抛出一个错误,我似乎无法明白为什么。我的表单请求构造器如下所示。我在这里错过了什么吗?从子类构造函数中访问父类方法
这个调用在我把它放在其他方法中时就起作用了,而不是从理想上需要的构造函数中调用。
访问低于母引发 “致命错误:在供应商\ laravel \框架调用一个成员函数get()方法在空的\ src \照亮\ HTTP \ Request.php:601”
protected $test= [];
public function __construct(myRepositoryInterface $myRepository) {
$this->myRepository= $myRepository;
if(parent::has('someName')){
$this->test= $myRepository->someMethod(parent::input('someName'));
}
}
在类中创建一个init()方法并从构造函数中调用它。 – Gala
问题是在'parent :: has'或'parent :: input'中,或者两者都有!基于这个错误,我敢打赌,在父对象的某个地方,通常定义的东西没有被定义,而且laravel正在尝试使用该值来调用某些东西。它并没有真正与'parent ::'调用本身有很大关系,因为我第一次怀疑:) – aaronofleonard
@Amleonard是的,我同意,我的想法是,直到构造函数完成它的工作,我不能正确访问这些方法。我可以在另一个方法中调用完全相同的代码,它可以工作,但在构造函数中失败。谢谢。 – jiraiya