问题描述
错误信息中文意思:无法使类中的非静态方法getAttributeValue静态化
Cannot make non static method Illuminate\Database\Eloquent\Model::getAttributeValue()
static in class ...InstDao at ...InstDao.php:0)
本地代码instDao类,继承Model,Model内找不到getAttributeValue()
解决方案:
重名位置
我的代码换个名称就好了,我这里不需要实现或者继承方法。。
网上找了一下资料,比较接近的是实现抽象类方法时,由于抽象类无法使用静态方法,继承的类无法使用静态化。他的解决办法是在抽象接口上使用静态方法,然后用一个抽象类去实现这个接口的静态方法,最后就可以通过普通类继承这个抽象类的静态方法
interface IFactory{
static function create();
}
abstract class Factory implements IFactory{
}
class FactoryBmw extends Factory{
static function create(){
echo 'FactoryBmw create()';
}
}
FactoryBmw::create(); //输出FactoryBmw create()