我想调用一个对象方法+属性,内容存储在变量中...例如:
// setup the object
$xpath = new DOMXpath();
// setup the 'method'+'property' to call
$var1 = "query('something')->item(O)->nodeValue";
$return = $xpath->$var1();
显然,我犯了一个错误...假设直接调用有效,即:
$return2 = $xpath->query('something')->item(0)->value;
echo "Return2 : ".$return2; //print okeedokee ...
如何将参数传递给查询()?以及如何为其添加额外的参数?
我认为你必须打电话
$return=$xpath->$var1;
注意:您需要call_user_func
功能
例:
阿尔法.php
class Alpha
{
public function getAlpha($arr_input)
{
echo "<pre>";
print_r($arr_input);
}
}
索引.php
include_once 'alpha.php';
$post = array('one','two','three');
$obj_alpha = new Alpha();
call_user_func( array( $obj_alpha , 'getAlpha' ), $post ) ;
//here I call `getAlpha` function from object of class alpha (`$obj_alpha`)
with argument `$post`
//will print $post array
您可以使用
eval() 执行此操作:
$return = eval('return $xpath->' . $var1 .';');
然而,将 eval() 与用户输入一起使用几乎总是一个坏主意。所以在那里要小心。