Avoid using array_map in ExtensionRegistry and ExtensionProcessor for simple operations
authorYifei He <eflyjason@gmail.com>
Wed, 13 Dec 2017 09:41:03 +0000 (17:41 +0800)
committerEflyjason <eflyjason@gmail.com>
Thu, 14 Dec 2017 15:51:33 +0000 (15:51 +0000)
Bug: T182645
Change-Id: Ia98b1d798b1f93ca30686c009d479668616229ae

includes/registration/ExtensionProcessor.php
includes/registration/ExtensionRegistry.php

index 5dc0b40..fe617c5 100644 (file)
@@ -378,9 +378,10 @@ class ExtensionProcessor implements Processor {
 
        protected function extractExtensionMessagesFiles( $dir, array $info ) {
                if ( isset( $info['ExtensionMessagesFiles'] ) ) {
-                       $this->globals["wgExtensionMessagesFiles"] += array_map( function ( $file ) use ( $dir ) {
-                               return "$dir/$file";
-                       }, $info['ExtensionMessagesFiles'] );
+                       foreach ( $info['ExtensionMessagesFiles'] as &$file ) {
+                               $file = "$dir/$file";
+                       }
+                       $this->globals["wgExtensionMessagesFiles"] += $info['ExtensionMessagesFiles'];
                }
        }
 
index bc2f8e4..994de97 100644 (file)
@@ -413,13 +413,14 @@ class ExtensionRegistry {
         * Fully expand autoloader paths
         *
         * @param string $dir
-        * @param array $info
+        * @param array $files
         * @return array
         */
-       protected function processAutoLoader( $dir, array $info ) {
+       protected function processAutoLoader( $dir, array $files ) {
                // Make paths absolute, relative to the JSON file
-               return array_map( function ( $file ) use ( $dir ) {
-                       return "$dir/$file";
-               }, $info );
+               foreach ( $files as &$file ) {
+                       $file = "$dir/$file";
+               }
+               return $files;
        }
 }