OOP:为变量分配方法

时间:2016-03-31 14:23:39

标签: php oop

我试图分配方法中的变量,另一种方法(作为函数)。

所以也许在方法" A"我想分配方法" B"作为功​​能。

我尝试了这个,但是var_dump为false,参数$ fn被视为字符串(我认为)。

<?php
class MyClass {

    public function call( $fn ) {
        var_dump( is_callable( $this->$fn ) );
    }

    public function required( $str ) {
        return empty( $str );
    }

}

$class = new MyClass;
$class->call( 'required' );

1 个答案:

答案 0 :(得分:1)

可能是一个更好的方法来解决这个问题,但我认为这是你之后的事情:

class MyClass
{
    public function call($function, $parameters = null)
    {
        if (method_exists(__CLASS__, $function)) {
            return $this->{$function}($parameters);
        }
    }

    public function required($string) 
    {
        return empty($string);
    }
}

$class = new MyClass;
var_dump($class->call('required', 'yo'));

并不完全使用您为什么要这样做,我想可能有更好的方法来实现您的最终目标,但上述至少应该满足您的要求。它限制了它如何处理参数,但它是一个起点。