我试图分配方法中的变量,另一种方法(作为函数)。
所以也许在方法" 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' );
答案 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'));
并不完全使用您为什么要这样做,我想可能有更好的方法来实现您的最终目标,但上述至少应该满足您的要求。它限制了它如何处理参数,但它是一个起点。