看下面的代碼
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);