* Add logger to ResourceLoaderContext for convenient use within modules.
* Group related members within ResourceLoaderContext.
Change-Id: Ifbc3de1b6e0838386735f1573df328d9b331ac37
/**
* Register core modules and runs registration hooks.
- * @param Config|null $config
+ * @param Config $config [optional]
+ * @param LoggerInterface $logger [optional]
*/
public function __construct( Config $config = null, LoggerInterface $logger = null ) {
global $IP;
return $this->config;
}
+ /**
+ * @since 1.26
+ * @param LoggerInterface $logger
+ */
public function setLogger( LoggerInterface $logger ) {
$this->logger = $logger;
}
+ /**
+ * @since 1.27
+ * @return LoggerInterface
+ */
+ public function getLogger() {
+ return $this->logger;
+ }
+
/**
* @since 1.26
* @return MessageBlobStore
* of a specific loader request
*/
class ResourceLoaderContext {
- /* Protected Members */
-
protected $resourceLoader;
protected $request;
+ protected $logger;
// Module content vary
protected $skin;
protected $userObj;
protected $imageObj;
- /* Methods */
-
/**
* @param ResourceLoader $resourceLoader
* @param WebRequest $request
public function __construct( ResourceLoader $resourceLoader, WebRequest $request ) {
$this->resourceLoader = $resourceLoader;
$this->request = $request;
+ $this->logger = $resourceLoader->getLogger();
// List of modules
$modules = $request->getVal( 'modules' );
return $this->request;
}
+ /**
+ * @since 1.27
+ * @return \Psr\Log\LoggerInterface
+ */
+ public function getLogger() {
+ return $this->logger;
+ }
+
/**
* @return array
*/
$versionHash = $module->getVersionHash( $context );
if ( strlen( $versionHash ) !== 8 ) {
+ $context->getLogger()->warning(
+ "Module '{module}' produced an invalid version hash: '{version}'.",
+ array(
+ 'module' => $name,
+ 'version' => $versionHash,
+ )
+ );
// Module implementation either broken or deviated from ResourceLoader::makeHash
// Asserted by tests/phpunit/structure/ResourcesTest.
$versionHash = ResourceLoader::makeHash( $versionHash );