考虑下面的代码,Iam使用codeigniter 3.0
Xmodel.php
---------------------
class Xmodel {
public static function get(){
}
}
Ymodel.php
------------------------
class Ymodel(){
public function run(){
$this->load->model('XModel', 'x');
$this->x::get(); // syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)
$this->x->get(); // works as expected
}
}
我怀疑get()
是否为静态方法,为什么它不与::
运算符一起使用。作为参考What does this mean? "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM"在这个问题中,该方法也是静态的,但他们没有证明为什么他们使用->
作为静态方法。非常感谢任何帮助。
答案 0 :(得分:0)
class Ymodel(){
public function run(){
$this->load->model('XModel', 'x');
$a = $this->x; // save to a var
$a::get(); // works as expected
}
}
https://stackoverflow.com/a/11520244/3205479这救了我。希望有些人不会因为这种php bug而再次受苦。