فهرست منبع

merged branch hhamon/controller_refactoring (PR #1)

Commits
-------

b6990c7 [Controller] refactored the controller class to take benefit from the new methods in the Configurator class.
79f5287 [Configurator] introduced new Configurator::getRequirements() and Configurator::getOptionalSettings() methods.

Discussion
----------

Controller refactoring
Fabien Potencier 14 سال پیش
والد
کامیت
14d669f9cb
2فایلهای تغییر یافته به همراه32 افزوده شده و 14 حذف شده
  1. 30 0
      Configurator/Configurator.php
  2. 2 14
      Controller/ConfiguratorController.php

+ 30 - 0
Configurator/Configurator.php

@@ -97,6 +97,36 @@ class Configurator
         $this->parameters = array_merge($this->parameters, $parameters);
     }
 
+    /**
+     * @return array
+     */
+    public function getRequirements()
+    {
+        $majors = array();
+        foreach ($this->steps as $step) {
+            foreach ($step->checkRequirements() as $major) {
+                $majors[] = $major;
+            }
+        }
+
+        return $majors;
+    }
+
+    /**
+     * @return array
+     */
+    public function getOptionalSettings()
+    {
+        $minors = array();
+        foreach ($this->steps as $step) {
+            foreach ($step->checkOptionalSettings() as $minor) {
+                $minors[] = $minor;
+            }
+        }
+
+        return $minors;
+    }
+
     /**
      * Renders parameters as a string.
      *

+ 2 - 14
Controller/ConfiguratorController.php

@@ -60,21 +60,9 @@ class ConfiguratorController extends ContainerAware
     {
         $configurator = $this->container->get('sensio.distribution.webconfigurator');
 
-        $steps = $configurator->getSteps();
-
-        $majors = array();
-        $minors = array();
-
         // Trying to get as much requirements as possible
-        foreach ($steps as $step) {
-            foreach ($step->checkRequirements() as $major) {
-                $majors[] = $major;
-            }
-
-            foreach ($step->checkOptionalSettings() as $minor) {
-                $minors[] = $minor;
-            }
-        }
+        $majors = $configurator->getRequirements();
+        $minors = $configurator->getOptionalSettings();
 
         $url = $this->container->get('router')->generate('_configurator_step', array('index' => 0));