class PassConfig in Service Container 7
Same name and namespace in other branches
- 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/PassConfig.php \Symfony\Component\DependencyInjection\Compiler\PassConfig
Compiler Pass Configuration.
This class has a default configuration embedded.
@author Johannes M. Schmitt <schmittjoh@gmail.com>
@api
Hierarchy
- class \Symfony\Component\DependencyInjection\Compiler\PassConfig
Expanded class hierarchy of PassConfig
1 file declares its use of PassConfig
- ContainerBuilder.php in modules/
providers/ service_container_symfony/ lib/ Symfony/ Component/ DependencyInjection/ ContainerBuilder.php
File
- modules/
providers/ service_container_symfony/ lib/ Symfony/ Component/ DependencyInjection/ Compiler/ PassConfig.php, line 25
Namespace
Symfony\Component\DependencyInjection\CompilerView source
class PassConfig {
const TYPE_AFTER_REMOVING = 'afterRemoving';
const TYPE_BEFORE_OPTIMIZATION = 'beforeOptimization';
const TYPE_BEFORE_REMOVING = 'beforeRemoving';
const TYPE_OPTIMIZE = 'optimization';
const TYPE_REMOVE = 'removing';
private $mergePass;
private $afterRemovingPasses = array();
private $beforeOptimizationPasses = array();
private $beforeRemovingPasses = array();
private $optimizationPasses;
private $removingPasses;
/**
* Constructor.
*/
public function __construct() {
$this->mergePass = new MergeExtensionConfigurationPass();
$this->optimizationPasses = array(
new ResolveDefinitionTemplatesPass(),
new DecoratorServicePass(),
new ResolveParameterPlaceHoldersPass(),
new CheckDefinitionValidityPass(),
new ResolveReferencesToAliasesPass(),
new ResolveInvalidReferencesPass(),
new AnalyzeServiceReferencesPass(true),
new CheckCircularReferencesPass(),
new CheckReferenceValidityPass(),
);
$this->removingPasses = array(
new RemovePrivateAliasesPass(),
new RemoveAbstractDefinitionsPass(),
new ReplaceAliasByActualDefinitionPass(),
new RepeatedPass(array(
new AnalyzeServiceReferencesPass(),
new InlineServiceDefinitionsPass(),
new AnalyzeServiceReferencesPass(),
new RemoveUnusedDefinitionsPass(),
)),
new CheckExceptionOnInvalidReferenceBehaviorPass(),
);
}
/**
* Returns all passes in order to be processed.
*
* @return array An array of all passes to process
*
* @api
*/
public function getPasses() {
return array_merge(array(
$this->mergePass,
), $this->beforeOptimizationPasses, $this->optimizationPasses, $this->beforeRemovingPasses, $this->removingPasses, $this->afterRemovingPasses);
}
/**
* Adds a pass.
*
* @param CompilerPassInterface $pass A Compiler pass
* @param string $type The pass type
*
* @throws InvalidArgumentException when a pass type doesn't exist
*
* @api
*/
public function addPass(CompilerPassInterface $pass, $type = self::TYPE_BEFORE_OPTIMIZATION) {
$property = $type . 'Passes';
if (!isset($this->{$property})) {
throw new InvalidArgumentException(sprintf('Invalid type "%s".', $type));
}
$passes =& $this->{$property};
$passes[] = $pass;
}
/**
* Gets all passes for the AfterRemoving pass.
*
* @return array An array of passes
*
* @api
*/
public function getAfterRemovingPasses() {
return $this->afterRemovingPasses;
}
/**
* Gets all passes for the BeforeOptimization pass.
*
* @return array An array of passes
*
* @api
*/
public function getBeforeOptimizationPasses() {
return $this->beforeOptimizationPasses;
}
/**
* Gets all passes for the BeforeRemoving pass.
*
* @return array An array of passes
*
* @api
*/
public function getBeforeRemovingPasses() {
return $this->beforeRemovingPasses;
}
/**
* Gets all passes for the Optimization pass.
*
* @return array An array of passes
*
* @api
*/
public function getOptimizationPasses() {
return $this->optimizationPasses;
}
/**
* Gets all passes for the Removing pass.
*
* @return array An array of passes
*
* @api
*/
public function getRemovingPasses() {
return $this->removingPasses;
}
/**
* Gets all passes for the Merge pass.
*
* @return array An array of passes
*
* @api
*/
public function getMergePass() {
return $this->mergePass;
}
/**
* Sets the Merge Pass.
*
* @param CompilerPassInterface $pass The merge pass
*
* @api
*/
public function setMergePass(CompilerPassInterface $pass) {
$this->mergePass = $pass;
}
/**
* Sets the AfterRemoving passes.
*
* @param array $passes An array of passes
*
* @api
*/
public function setAfterRemovingPasses(array $passes) {
$this->afterRemovingPasses = $passes;
}
/**
* Sets the BeforeOptimization passes.
*
* @param array $passes An array of passes
*
* @api
*/
public function setBeforeOptimizationPasses(array $passes) {
$this->beforeOptimizationPasses = $passes;
}
/**
* Sets the BeforeRemoving passes.
*
* @param array $passes An array of passes
*
* @api
*/
public function setBeforeRemovingPasses(array $passes) {
$this->beforeRemovingPasses = $passes;
}
/**
* Sets the Optimization passes.
*
* @param array $passes An array of passes
*
* @api
*/
public function setOptimizationPasses(array $passes) {
$this->optimizationPasses = $passes;
}
/**
* Sets the Removing passes.
*
* @param array $passes An array of passes
*
* @api
*/
public function setRemovingPasses(array $passes) {
$this->removingPasses = $passes;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PassConfig:: |
private | property | ||
PassConfig:: |
private | property | ||
PassConfig:: |
private | property | ||
PassConfig:: |
private | property | ||
PassConfig:: |
private | property | ||
PassConfig:: |
private | property | ||
PassConfig:: |
public | function | Adds a pass. | |
PassConfig:: |
public | function | Gets all passes for the AfterRemoving pass. | |
PassConfig:: |
public | function | Gets all passes for the BeforeOptimization pass. | |
PassConfig:: |
public | function | Gets all passes for the BeforeRemoving pass. | |
PassConfig:: |
public | function | Gets all passes for the Merge pass. | |
PassConfig:: |
public | function | Gets all passes for the Optimization pass. | |
PassConfig:: |
public | function | Returns all passes in order to be processed. | |
PassConfig:: |
public | function | Gets all passes for the Removing pass. | |
PassConfig:: |
public | function | Sets the AfterRemoving passes. | |
PassConfig:: |
public | function | Sets the BeforeOptimization passes. | |
PassConfig:: |
public | function | Sets the BeforeRemoving passes. | |
PassConfig:: |
public | function | Sets the Merge Pass. | |
PassConfig:: |
public | function | Sets the Optimization passes. | |
PassConfig:: |
public | function | Sets the Removing passes. | |
PassConfig:: |
constant | |||
PassConfig:: |
constant | |||
PassConfig:: |
constant | |||
PassConfig:: |
constant | |||
PassConfig:: |
constant | |||
PassConfig:: |
public | function | Constructor. |