1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
<?php
use MediaWiki\Config\ServiceOptions;
/**
* Helper for TestAllServiceOptionsUsed.
*/
class LoggedServiceOptions extends ServiceOptions {
/** @var array */
private $accessLog;
/**
* @param array &$accessLog Pass self::$serviceOptionsAccessLog from the class implementing
* TestAllServiceOptionsUsed.
* @param string[] $keys
* @param mixed ...$args Forwarded to parent as-is.
*/
public function __construct( array &$accessLog, array $keys, ...$args ) {
$this->accessLog = &$accessLog;
if ( !$accessLog ) {
$accessLog = [ $keys, [] ];
}
parent::__construct( $keys, ...$args );
}
/**
* @param string $key
* @return mixed
*/
public function get( $key ) {
$this->accessLog[1][$key] = true;
return parent::get( $key );
}
}
|