php分配变量,PHP – 您可以为变量分配成员函数吗?

标签:php

参见英文答案 > php call class function by string name                                    5个

在PHP5中,变量可以被评估为functions1,例如:

function myFunc() {

echo "whatever";

}

$callableFunction = 'myFunc';

$callableFunction(); // executes myFunc()

是否有任何语法可以将对象成员函数分配给变量,例如:

class MyClass {

function someCall() {

echo "yay";

}

}

$class = new MyClass();

// what I would like:

$assignedFunction = $class->someCall; // but I tried and it returns an error

$memberFunc = 'someCall';

$class->$memberFunc(); // I know this is valid, but I want a single variable to be able to be used to call different functions - I don't want to have to know whether it is part of a class or not.

// my current implementation because I don't know how to do it with anonymous functions:

$assignedFunction = function() { return $class->someCall(); } // someCall to the variable somehow?

$assignedFunction(); // I would like this to execute $class->someCall()

解决方法:

有一种方法,但对于PHP 5.4及以上…

class MyClass {

function someCall() {

echo "yay";

}

}

$obj = new Myclass();

$ref = array($obj, 'someCall');

$ref();

嗯..实际上它也适用于静态,只需使用名称引用..

class MyClass {

static function someCall2() {

echo "yay2";

}

}

$ref = array('MyClass', 'someCall2');

$ref();

对于非静态的,这种表示法也适用.它创建了一个类的临时实例.所以,这就是你需要的,只需要你需要php 5.4及以上版本)

标签:php

来源: https://codeday.me/bug/20190528/1172512.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值