当前位置: 首页 > 面试题库 >

PHP中的动态类方法调用

欧照
2023-03-14
问题内容

有没有一种方法可以在PHP的同一类中动态调用方法?我的语法不正确,但是我正在寻找类似的方法:

$this->{$methodName}($arg1, $arg2, $arg3);

问题答案:

有多种方法可以做到这一点:

$this->{$methodName}($arg1, $arg2, $arg3);
$this->$methodName($arg1, $arg2, $arg3);
call_user_func_array(array($this, $methodName), array($arg1, $arg2, $arg3));

您甚至可以使用反射API
http://php.net/manual/en/class.reflection.php



 类似资料:
  • 问题内容: 请具有PHP经验的人提供以下帮助。在我的代码中的某个地方,我调用了一个非实例化类中的公共静态方法: 但是,我希望有许多这样的类,并根据用户的语言即时确定正确的类名称。换句话说,我有: …,我需要做类似的事情: 我知道我可以将语言作为参数传递给函数,并在一个通用类中处理它,但是由于种种原因,我希望使用其他解决方案。 有人吗?谢谢。 问题答案: 使用call_user_func函数: ht

  • 问题内容: 在上面的程序中,我尝试调用 aObj.b时 遇到错误。 1.为什么我无法通过aObj访问该变量,尽管它引用的是B类? 2.为什么我可以使用show()方法? 问题答案: 你有区分 静态类型 的和 运行时类型 的。 代码如 产生具有静态类型和运行时类型的变量。 在决定允许或不允许的内容时,编译器也只会考虑 静态类型 。 对您的问题: 1.为什么我无法通过aObj访问该变量,尽管它引用的是

  • 我试图理解在另一个类中完成一个过程后,如何在我的活动中调用一个方法? 请看我的插图例子。在MyActivity中,我想在MyClass中调用一个名为DoSomething的当doSomething完成后,我希望MyClass(通知?、接口?、委托?、可观察?、插入“我不知道这里”)我完成的方法回到活动状态。 我看过接口。但我不明白重点。(您基本上promise实现一个方法?但是...为什么?您可以

  • 下面是我在测试中尝试做的事情。 TestConfig: 测试:: mockito:通过反射调用参数的mock方法 mockito:是否可以将mock与方法名结合在一起,在when()调用中创建methodCall? 利用Mockito通过反射模拟方法

  • 本文向大家介绍浅谈PHP中静态方法和非静态方法的相互调用,包括了浅谈PHP中静态方法和非静态方法的相互调用的使用技巧和注意事项,需要的朋友参考一下 在PHP的非静态方法中可以调用静态方法 上面的代码会输出: this is strPrint static function. 而下面的代码会直接挂掉,php直接给出fatal error: Fatal error: Using $this when

  • 我有一个片段类,我想在我的活动的“main”类中调用一个方法。fragment类是静态的,所以这可能是导致问题的原因,尽管我必须使它保持静态。我希望能够在静态类中执行类似的操作: