欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php __callStatic方法参数的一个问题

程序员文章站 2022-05-30 18:50:11
...
看下面的代码
php
class XXOO { private static $instance; public function func($arg1, $arg2, $arg3, $arg4) { } public static function __callStatic($method, $arguments) { if (!self::$instance) { self::$instance = new self(); } return self::$instance->$method($arguments); } } XXOO::func('arg', 'arg2', array('name'), 'sf');

__callStatic实现静态方法调用实例方法,但是$arguments变量是一个数组,在不改变func方法(参数可能不固定)的前提下如何实现对实例方法传参.

回复内容:

看下面的代码

php
class XXOO { private static $instance; public function func($arg1, $arg2, $arg3, $arg4) { } public static function __callStatic($method, $arguments) { if (!self::$instance) { self::$instance = new self(); } return self::$instance->$method($arguments); } } XXOO::func('arg', 'arg2', array('name'), 'sf');

__callStatic实现静态方法调用实例方法,但是$arguments变量是一个数组,在不改变func方法(参数可能不固定)的前提下如何实现对实例方法传参.

call_user_func_array([self::$instance, $method], $arguments);
相关标签: php