Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

PassConfig.php

Zuletzt modifiziert: 09.10.2024, 12:56 - Dateigröße: 5.68 KiB


001  <?php
002   
003  /*
004   * This file is part of the Symfony package.
005   *
006   * (c) Fabien Potencier <fabien@symfony.com>
007   *
008   * For the full copyright and license information, please view the LICENSE
009   * file that was distributed with this source code.
010   */
011   
012  namespace Symfony\Component\DependencyInjection\Compiler;
013   
014  use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
015   
016  /**
017   * Compiler Pass Configuration.
018   *
019   * This class has a default configuration embedded.
020   *
021   * @author Johannes M. Schmitt <schmittjoh@gmail.com>
022   */
023  class PassConfig
024  {
025      const TYPE_AFTER_REMOVING = 'afterRemoving';
026      const TYPE_BEFORE_OPTIMIZATION = 'beforeOptimization';
027      const TYPE_BEFORE_REMOVING = 'beforeRemoving';
028      const TYPE_OPTIMIZE = 'optimization';
029      const TYPE_REMOVE = 'removing';
030   
031      private $mergePass;
032      private $afterRemovingPasses = array();
033      private $beforeOptimizationPasses = array();
034      private $beforeRemovingPasses = array();
035      private $optimizationPasses;
036      private $removingPasses;
037   
038      public function __construct()
039      {
040          $this->mergePass = new MergeExtensionConfigurationPass();
041   
042          $this->optimizationPasses = array(
043              new ExtensionCompilerPass(),
044              new ResolveDefinitionTemplatesPass(),
045              new DecoratorServicePass(),
046              new ResolveParameterPlaceHoldersPass(),
047              new CheckDefinitionValidityPass(),
048              new ResolveReferencesToAliasesPass(),
049              new ResolveInvalidReferencesPass(),
050              new AutowirePass(),
051              new AnalyzeServiceReferencesPass(true),
052              new CheckCircularReferencesPass(),
053              new CheckReferenceValidityPass(),
054          );
055   
056          $this->removingPasses = array(
057              new RemovePrivateAliasesPass(),
058              new ReplaceAliasByActualDefinitionPass(),
059              new RemoveAbstractDefinitionsPass(),
060              new RepeatedPass(array(
061                  new AnalyzeServiceReferencesPass(),
062                  new InlineServiceDefinitionsPass(),
063                  new AnalyzeServiceReferencesPass(),
064                  new RemoveUnusedDefinitionsPass(),
065              )),
066              new CheckExceptionOnInvalidReferenceBehaviorPass(),
067          );
068      }
069   
070      /**
071       * Returns all passes in order to be processed.
072       *
073       * @return array An array of all passes to process
074       */
075      public function getPasses()
076      {
077          return array_merge(
078              array($this->mergePass),
079              $this->beforeOptimizationPasses,
080              $this->optimizationPasses,
081              $this->beforeRemovingPasses,
082              $this->removingPasses,
083              $this->afterRemovingPasses
084          );
085      }
086   
087      /**
088       * Adds a pass.
089       *
090       * @param CompilerPassInterface $pass A Compiler pass
091       * @param string                $type The pass type
092       *
093       * @throws InvalidArgumentException when a pass type doesn't exist
094       */
095      public function addPass(CompilerPassInterface $pass, $type = self::TYPE_BEFORE_OPTIMIZATION)
096      {
097          $property = $type.'Passes';
098          if (!isset($this->$property)) {
099              throw new InvalidArgumentException(sprintf('Invalid type "%s".', $type));
100          }
101   
102          $this->{$property}[] = $pass;
103      }
104   
105      /**
106       * Gets all passes for the AfterRemoving pass.
107       *
108       * @return array An array of passes
109       */
110      public function getAfterRemovingPasses()
111      {
112          return $this->afterRemovingPasses;
113      }
114   
115      /**
116       * Gets all passes for the BeforeOptimization pass.
117       *
118       * @return array An array of passes
119       */
120      public function getBeforeOptimizationPasses()
121      {
122          return $this->beforeOptimizationPasses;
123      }
124   
125      /**
126       * Gets all passes for the BeforeRemoving pass.
127       *
128       * @return array An array of passes
129       */
130      public function getBeforeRemovingPasses()
131      {
132          return $this->beforeRemovingPasses;
133      }
134   
135      /**
136       * Gets all passes for the Optimization pass.
137       *
138       * @return array An array of passes
139       */
140      public function getOptimizationPasses()
141      {
142          return $this->optimizationPasses;
143      }
144   
145      /**
146       * Gets all passes for the Removing pass.
147       *
148       * @return array An array of passes
149       */
150      public function getRemovingPasses()
151      {
152          return $this->removingPasses;
153      }
154   
155      /**
156       * Gets the Merge pass.
157       *
158       * @return CompilerPassInterface The merge pass
159       */
160      public function getMergePass()
161      {
162          return $this->mergePass;
163      }
164   
165      /**
166       * Sets the Merge Pass.
167       *
168       * @param CompilerPassInterface $pass The merge pass
169       */
170      public function setMergePass(CompilerPassInterface $pass)
171      {
172          $this->mergePass = $pass;
173      }
174   
175      /**
176       * Sets the AfterRemoving passes.
177       *
178       * @param array $passes An array of passes
179       */
180      public function setAfterRemovingPasses(array $passes)
181      {
182          $this->afterRemovingPasses = $passes;
183      }
184   
185      /**
186       * Sets the BeforeOptimization passes.
187       *
188       * @param array $passes An array of passes
189       */
190      public function setBeforeOptimizationPasses(array $passes)
191      {
192          $this->beforeOptimizationPasses = $passes;
193      }
194   
195      /**
196       * Sets the BeforeRemoving passes.
197       *
198       * @param array $passes An array of passes
199       */
200      public function setBeforeRemovingPasses(array $passes)
201      {
202          $this->beforeRemovingPasses = $passes;
203      }
204   
205      /**
206       * Sets the Optimization passes.
207       *
208       * @param array $passes An array of passes
209       */
210      public function setOptimizationPasses(array $passes)
211      {
212          $this->optimizationPasses = $passes;
213      }
214   
215      /**
216       * Sets the Removing passes.
217       *
218       * @param array $passes An array of passes
219       */
220      public function setRemovingPasses(array $passes)
221      {
222          $this->removingPasses = $passes;
223      }
224  }
225