diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-06-04 07:31:04 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-06-04 07:58:39 +0200 |
commit | f6d65e533c62f6deb21342d4901ece24497b433e (patch) | |
tree | f28adf0362d14bcd448f7b65a7aaf38650f923aa /includes/libs/ScopedCallback.php | |
parent | c27b2e832fe25651ef2410fae85b41072aae7519 (diff) |
Update to MediaWiki 1.25.1
Diffstat (limited to 'includes/libs/ScopedCallback.php')
-rw-r--r-- | includes/libs/ScopedCallback.php | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/includes/libs/ScopedCallback.php b/includes/libs/ScopedCallback.php index 631b6519..1ec9eaa6 100644 --- a/includes/libs/ScopedCallback.php +++ b/includes/libs/ScopedCallback.php @@ -28,16 +28,20 @@ class ScopedCallback { /** @var callable */ protected $callback; + /** @var array */ + protected $params; /** - * @param callable $callback + * @param callable|null $callback + * @param array $params Callback arguments (since 1.25) * @throws Exception */ - public function __construct( $callback ) { - if ( !is_callable( $callback ) ) { + public function __construct( $callback, array $params = array() ) { + if ( $callback !== null && !is_callable( $callback ) ) { throw new InvalidArgumentException( "Provided callback is not valid." ); } $this->callback = $callback; + $this->params = $params; } /** @@ -67,7 +71,7 @@ class ScopedCallback { */ function __destruct() { if ( $this->callback !== null ) { - call_user_func( $this->callback ); + call_user_func_array( $this->callback, $this->params ); } } } |