瀏覽代碼

Pico::sortPlugins(): Fix sorting of non-native plugins

Daniel Rudolf 7 年之前
父節點
當前提交
9dcb06c258
共有 1 個文件被更改,包括 10 次插入2 次删除
  1. 10 2
      lib/Pico.php

+ 10 - 2
lib/Pico.php

@@ -692,9 +692,17 @@ class Pico
     protected function sortPlugins()
     {
         $plugins = $this->plugins;
+        $nativePlugins = $this->nativePlugins;
         $sortedPlugins = array();
         $visitedPlugins = array();
-        $visitPlugin = function ($plugin) use ($plugins, &$sortedPlugins, &$visitedPlugins, &$visitPlugin) {
+
+        $visitPlugin = function ($plugin) use (
+            $plugins,
+            $nativePlugins,
+            &$sortedPlugins,
+            &$visitedPlugins,
+            &$visitPlugin
+        ) {
             $pluginName = get_class($plugin);
 
             // skip already visited plugins and ignore circular dependencies
@@ -705,7 +713,7 @@ class Pico
                 if ($plugin instanceof PicoPluginInterface) {
                     $dependencies = $plugin->getDependencies();
                 }
-                if (!isset($this->nativePlugins[$pluginName])) {
+                if (!isset($nativePlugins[$pluginName])) {
                     $dependencies[] = 'PicoDeprecated';
                 }