PHP:objectmethod+;来自var的proprety调用
我想用存储在变量中的内容调用对象方法+属性。。。 例如:PHP:objectmethod+;来自var的proprety调用,php,object,Php,Object,我想用存储在变量中的内容调用对象方法+属性。。。 例如: // setup the object $xpath = new DOMXpath(); // setup the 'method'+'property' to call $var1 = "query('something')->item(O)->nodeValue"; $return = $xpath->$var1(); 显然,我犯了一个错误。。。假设直接呼叫正在工作,即: $return2 = $xpath-&
// 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 ...
如何将参数传递给query()?如何添加额外的参数呢?我想你得打电话
$return=$xpath->$var1;
注意:这是您需要的功能
例如:
alpha.php
可以使用eval()执行此操作:
然而,将eval()与用户输入一起使用几乎总是一个坏主意。所以要小心。你到底想做什么??不管是什么,$xpath->$var1();没道理,我一直在看。。。但我无法使它与对象一起工作。。。我在网上没有找到任何例子。也许你可以提供一个?在这种情况下,“评估”方法很好用。。。谢谢大家:)
class Alpha
{
public function getAlpha($arr_input)
{
echo "<pre>";
print_r($arr_input);
}
}
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
$return = eval('return $xpath->' . $var1 .';');