使用属性值作为方法名称

时间:2012-12-19 20:12:07

标签: php

我需要在我的类中使用属​​性值作为动态方法名称,但我得到了:

 Catchable fatal error: Object of class dispatcher could not be converted to string in ...

我想做的是:

 class test {
      var $objectname = "object_name";
      var $methodname = "method";

      public function test_method() {
           require_once("some_class_file");
           // Here is where I am falling out:
           $some_object = new $this->objectname();
           $some_object->$this->methodname();
      }
 }

所以换句话说,我想从我班级中预先存在的属性动态设置对象名称和潜在方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

由于以下行而生成错误:

 $some_object->$this->methodname();

替换为:

 $some_object->{$this->methodname}();