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