我们如何在呼叫上使用类名中的变量?
例如,我有一个称为这样的课程:
<?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提供商的体系结构。