调用方法PHP时使用变量




我们如何在呼叫上使用类名中的变量?
例如,我有一个称为这样的课程:

<?php
$ig = new Instagram();
$ig->people->getIdByName("param1",array('a','b','c'),"param2");

那么我该如何称呼这种方法?:

<?php
 $ig = new Instagram();
 $main = 'people';
 $sub = 'getIdByName';
 $content = '"param1",array('a','b','c'),"param2"';
 $ig->$main->$sub($content);

方法呼叫将像您在问题中所显示的那样起作用。因此,代码的这一部分还可以:

$main = 'people';
$sub = 'getIdByName';
$ig->$main->$sub();

最后一个方法的参数如何,有2个选项:

php> = 5.6

variadic参数是在PHP 5.6中引入的,因此您可以将参数保存为数组,只需使用...

将它们传递给它们。
$args = ["param1",['a','b','c'],"param2"];
$ig->$main->$sub(...$args);

php&lt;5.6

在这种情况下,您应该使用call_user_func_array((

$main = 'people';
$sub = 'getIdByName';
$args = ["param1",['a','b','c'],"param2"];
$main = $ig->$main;
call_user_func_array([$main, $sub], $args];

尽管@Andrew是正确的,但这种方法不是灵活的,不得用作API提供商的体系结构。

最新更新