在调用PHP方法时使用变量

时间:2018-02-22 12:32:14

标签: php class methods instagram


我们如何在电话中使用班级名称中的变量? 例如,我有一个这样调用的类:

<?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);

1 个答案:

答案 0 :(得分:-1)

方法调用就像你在问题中展示的那样工作。所以这部分代码还可以:

$main = 'people';
$sub = 'getIdByName';

$ig->$main->$sub();

最后一个方法的论点怎么样,有2个选项:

PHP&gt; = 5.6

在PHP 5.6中引入了

Variadic parameters,因此您可以将参数保存为数组,并使用...传递它们:

$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提供商的架构。