123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- <?php
- namespace Symfony\Components\DependencyInjection;
- /*
- * This file is part of the symfony framework.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- /**
- * Definition represents a service definition.
- *
- * @package symfony
- * @subpackage dependency_injection
- * @author Fabien Potencier <fabien.potencier@symfony-project.com>
- */
- class Definition
- {
- protected
- $class = null,
- $file = null,
- $constructor = null,
- $shared = true,
- $arguments = array(),
- $calls = array(),
- $configurator = null;
- /**
- * Constructor.
- *
- * @param string $class The service class
- * @param array $arguments An array of arguments to pass to the service constructor
- */
- public function __construct($class, array $arguments = array())
- {
- $this->class = $class;
- $this->arguments = $arguments;
- }
- /**
- * Sets the constructor method.
- *
- * @param string $method The method name
- *
- * @return Definition The current instance
- */
- public function setConstructor($method)
- {
- $this->constructor = $method;
- return $this;
- }
- /**
- * Gets the constructor method.
- *
- * @return Definition The constructor method name
- */
- public function getConstructor()
- {
- return $this->constructor;
- }
- /**
- * Sets the service class.
- *
- * @param string $class The service class
- *
- * @return Definition The current instance
- */
- public function setClass($class)
- {
- $this->class = $class;
- return $this;
- }
- /**
- * Sets the constructor method.
- *
- * @return string The service class
- */
- public function getClass()
- {
- return $this->class;
- }
- /**
- * Sets the constructor arguments to pass to the service constructor.
- *
- * @param array $arguments An array of arguments
- *
- * @return Definition The current instance
- */
- public function setArguments(array $arguments)
- {
- $this->arguments = $arguments;
- return $this;
- }
- /**
- * Adds a constructor argument to pass to the service constructor.
- *
- * @param mixed $argument An argument
- *
- * @return Definition The current instance
- */
- public function addArgument($argument)
- {
- $this->arguments[] = $argument;
- return $this;
- }
- /**
- * Gets the constructor arguments to pass to the service constructor.
- *
- * @return array The array of arguments
- */
- public function getArguments()
- {
- return $this->arguments;
- }
- /**
- * Sets the methods to call after service initialization.
- *
- * @param array $calls An array of method calls
- *
- * @return Definition The current instance
- */
- public function setMethodCalls(array $calls = array())
- {
- $this->calls = array();
- foreach ($calls as $call)
- {
- $this->addMethodCall($call[0], $call[1]);
- }
- return $this;
- }
- /**
- * Adds a method to call after service initialization.
- *
- * @param string $method The method name to call
- * @param array $arguments An array of arguments to pass to the method call
- *
- * @return Definition The current instance
- */
- public function addMethodCall($method, array $arguments = array())
- {
- $this->calls[] = array($method, $arguments);
- return $this;
- }
- /**
- * Gets the methods to call after service initialization.
- *
- * @return array An array of method calls
- */
- public function getMethodCalls()
- {
- return $this->calls;
- }
- /**
- * Sets a file to require before creating the service.
- *
- * @param string $file A full pathname to include
- *
- * @return Definition The current instance
- */
- public function setFile($file)
- {
- $this->file = $file;
- return $this;
- }
- /**
- * Gets the file to require before creating the service.
- *
- * @return string The full pathname to include
- */
- public function getFile()
- {
- return $this->file;
- }
- /**
- * Sets if the service must be shared or not.
- *
- * @param Boolean $shared Whether the service must be shared or not
- *
- * @return Definition The current instance
- */
- public function setShared($shared)
- {
- $this->shared = (Boolean) $shared;
- return $this;
- }
- /**
- * Returns true if the service must be shared.
- *
- * @return Boolean true if the service is shared, false otherwise
- */
- public function isShared()
- {
- return $this->shared;
- }
- /**
- * Sets a configurator to call after the service is fully initialized.
- *
- * @param mixed $callable A PHP callable
- *
- * @return Definition The current instance
- */
- public function setConfigurator($callable)
- {
- $this->configurator = $callable;
- return $this;
- }
- /**
- * Gets the configurator to call after the service is fully initialized.
- *
- * @return mixed The PHP callable to call
- */
- public function getConfigurator()
- {
- return $this->configurator;
- }
- }
|