为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 5.6 使用类名作为变量字符串调用多个类方法

PHP 5.6 使用类名作为变量字符串调用多个类方法

PHP
神不在的星期二 2021-08-21 10:07:02
我有一个类名作为字符串变量(它实际上是一个雄辩的模型类名)class Base_controller{    public modelClassName = 'Product';}我想用参数调用这个模型的方法class Base_controller{    public modelClassName = 'Product';    public function index(){        $fields= 'id, name, price';        $this->modelClassName::select($fields)->get();    }}当我调用 index 函数时,出现错误:Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in ...这样做的正确方法是什么?
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

将类属性的值复制到一个普通变量中,然后使用变量函数调用语法。


class Base_controller{


    public modelClassName = 'Product';


    public function index(){


        $fields= 'id, name, price';

        $class = $this->modelClassName;

        $class::select($fields)->get();

    }

}


查看完整回答
反对 回复 2021-08-21
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

call_user_func如果你喜欢,你也可以使用。


public function index()

{

    $fields = 'id, name, price';

    call_user_func([$this->modelClassName, 'select'], $fields)->get();

}


查看完整回答
反对 回复 2021-08-21
  • 2 回答
  • 0 关注
  • 233 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信