Commit Graph

164 Commits

Author SHA1 Message Date
Martin Hason
5ee48c4963 [DependencyInjection] fix XML entities in XmlDumper 2011-01-14 16:56:44 +01:00
Martin Hason
2a3d94a6d0 [DependencyInjection] added support for anonymous services in XmlDumper 2011-01-14 08:25:18 +01:00
Victor Berchet
0bc6d814c3 [DI Compiler] Make processArguments() process arguments only 2011-01-11 20:29:44 +01:00
Victor Berchet
22f04f50a6 [DI XmlLoader] Add missing type hints 2011-01-11 20:29:29 +01:00
Johannes Schmitt
f1e41a9671 [DependencyInjection] made some improvments to the container compiler
- inline private services which are references multiple times, but where all references originate from the same definition
- bug fix for non-shared services which were considered shared within the scope in which they were inlined
2011-01-09 19:58:51 +01:00
Johannes Schmitt
d1a2a65d19 [DependencyInjection] performance improvement, better analysis tools 2011-01-09 19:58:42 +01:00
Johannes Schmitt
e85546ef7d [DependencyInjection] made some improvments to the container compiler
- added generic repeated pass
- better optimization of services
- started adding some integration tests
2011-01-09 19:58:39 +01:00
Fabien Potencier
b2a720f2b7 [DependencyInjection] restricted supported for only phar URI 2011-01-07 16:03:57 +01:00
Martin Hason
a11619973b [DependencyInjection] fix xml validation for extension in phar archive 2011-01-07 16:00:28 +01:00
Johannes Schmitt
3785a99b94 adds visibility to aliases 2011-01-07 15:58:48 +01:00
Jeremy Mikola
554c86c589 [DependencyInjection] Add hasInterfaceInjectorForClass(), which is helpful for extension loader methods
Additionally, doc blocks were added for the Container's InterfaceInjector methods, and the test case was modified to cover both add() methods
2011-01-07 14:33:06 +01:00
Fabien Potencier
183acd8460 [DependencyInjection] fixed interface injection when the class is not available 2011-01-06 20:00:04 +01:00
Fabien Potencier
af8ebeaabb [DependencyInjection] added automatic detection for service circular references 2011-01-06 14:52:47 +01:00
Jeremy Mikola
a7bac83c58 [DependencyInjection] Remove OpenSky doc-block and AGPL license string 2011-01-06 08:46:17 +01:00
Johannes M. Schmitt
c5ef113b18 DI container optimization 2011-01-05 15:41:11 +01:00
Fabien Potencier
fc96702483 [DependencyInjection] fixed generation of empty tags when getting a tag from a definition
This change removes a lot of noise in the dumped container.
2011-01-05 15:00:59 +01:00
Fabien Potencier
eb4788e98e [DependencyInjection] made service keys and aliases case insensitive (as method names are case insensitive in PHP) 2011-01-03 09:07:06 +01:00
Victor Berchet
de42cfdf3e fix a typo 2011-01-03 08:48:57 +01:00
Victor Berchet
b7db5482d7 Container builder tweaks 2011-01-03 08:48:25 +01:00
Fabien Potencier
5c73619d80 [DependencyInjection] optimized previous commit 2010-12-31 09:15:36 +01:00
Lukas Kahwe Smith
c886d88bf3 [DependencyInjection] force loading of class file when resolving interface injections 2010-12-31 09:12:09 +01:00
Johannes Schmitt
db5e180d37 tweaked DI container 2010-12-30 15:59:52 +01:00
Victor Berchet
b2476719f6 Container PHP dumper: optimize string dumping ('f'.'o'.'o' -> 'foo') 2010-12-21 11:19:42 +01:00
Johannes Schmitt
a2105d44aa slight compiler refactoring (RFC) 2010-12-20 20:11:13 +01:00
Fabien Potencier
9f5253e460 fixed typo 2010-12-14 07:49:55 +01:00
Bulat Shakirzyanov
ff9e9ac315 [DependencyInjection] fixed a typo in PhpDumper 2010-12-13 18:55:37 +01:00
Jordi Boggiano
ac7e0bc35f [DependencyInjection] Fixes a loading order issue
ab7ad4808b introduced a regression when using a parameter in an extension config that is defined in the same file, the ParameterBag can not resolve it
2010-12-13 07:52:09 +01:00
Johannes Schmitt
763bba9b89 bug fix 2010-12-12 10:27:15 +01:00
Fabien Potencier
48e30537c4 added exception when a loaded YAML resource is not an array 2010-12-12 08:39:37 +01:00
Johannes Schmitt
e49cc36339 This commit fixes two bugs:
- interfaces can now also be defined on containers which are built with an Extension
- interface injection can also be used on classes that require constructor arguments
2010-12-10 17:15:04 +01:00
Jonathan H. Wage
ab7ad4808b [DependencyInjection] Allow parameter replacement within extension configurations. 2010-12-10 08:45:49 +01:00
Bulat Shakirzyanov
73331cf1c1 [DependencyInjection] Interface Injection implementation 2010-11-30 20:36:56 +01:00
pablodip
314d3d06ae [DependencyInjection] format the tags in the findTaggedServiceIds method of the PhpDumper 2010-11-30 07:56:51 +01:00
Fabien Potencier
341178e869 [DependencyInjection] made some cosmetic changes to the PHP dumper output 2010-11-24 15:55:25 +01:00
Fabien Potencier
60bbb8f380 [DependencyInjection] optimized compiled containers
* removed the __call() method in Container: it means that now, there is only
   one way to get a service: via the get() method;

 * removed the $shared variable in the dumped Container classes (we now use
   the $services variable from the parent class directly -- this is where we
   have a performance improvement);

 * optimized the PHP Dumper output.
2010-11-23 22:43:09 +01:00
Fabien Potencier
f6cc63c99c removed ArrayAccess interface for Container and Controller 2010-11-15 10:05:28 +01:00
Fabien Potencier
53dd4e39c7 [DependencyInjection] changed the YAML notation for optional services from @@ to @? 2010-11-15 10:00:59 +01:00
Fabien Potencier
92f3d9e7ec [DependencyInjection] removed the leading _ for anonymous service ids (the usage of strtr() in the conversion between ids and methods does not take leading _ into account like camelize() does) 2010-11-15 09:56:20 +01:00
Fabien Potencier
efed6005cb [DependencyInjection] fixed PHP dumper
In the dumped PHP class, we must use get() and not get*Service() methods to get services.
That's because all calls must be managed by get(). From the outside, you can call
get*Service() because as they are protected, they are caught by the __call() method;
which is not the case obviously when it is used internally.

If not, if you override a service with set(), this won't work when a service
depends on this one (the default one will still be used).
2010-11-12 17:38:32 +01:00
Kris Wallsmith
c991b250ea [DependencyInjection] updated TaggedContainerInterface to extend ContainerInterface 2010-11-03 17:16:57 +01:00
Fabien Potencier
988722b23b [DependencyInjection] fixed phpdoc 2010-10-26 16:01:39 +02:00
Jordi Boggiano
48155ccc2f [DependencyInjection] Regex optimization 2010-10-21 07:48:12 +02:00
Jordi Boggiano
2186535848 [DependencyInjection] Removed useless code 2010-10-21 07:48:06 +02:00
Jeremy Mikola
0aba8ef720 [DependencyInjection] XmlFileLoader should allow "factory-service" attribute without "class" for <service> 2010-10-19 21:10:07 +02:00
Kris Wallsmith
f79e23ffb5 Removed all those spaces after @author that were bothering me so… 2010-10-18 16:55:41 +02:00
Kris Wallsmith
0b1f3145ae Removed unnecessary "public" from interface method signatures. 2010-10-18 16:55:09 +02:00
Artur Kotyrba
308e85a5a7 Removed methods which implemented interfaces by throwing \LogicException('You must override...'). 2010-10-17 07:54:18 +02:00
pborreli
86cc6a11d9 [Component] Fixed some spelling typos 2010-10-17 07:51:50 +02:00
Kris Wallsmith
ef4f61bb9f [DependencyInjection] Added TaggedContainerInterface to signature of generated container classes 2010-10-16 08:32:07 +02:00
Ryan Weaver
c39635680f added PHPDoc 2010-10-13 07:29:41 +02:00
Ryan Weaver
7fb3b2ab9d Adding basic PHPDoc to the Routing\DelegatingLoader class. 2010-10-12 06:58:54 +02:00
Fabien Potencier
35ee15d131 [DependencyInjection] tweaked an error message to ease debugging 2010-09-26 16:59:40 +02:00
Fabien Potencier
7be00aa34e fixed previous commit 2010-09-03 16:18:04 +02:00
Fabien Potencier
4c17ce8e5e changed calls to has() to use the new proxy method 2010-09-03 11:38:21 +02:00
Bulat Shakirzyanov
2ccaafa561 [DpependencyInjection] added hasParameter() 2010-09-03 11:37:03 +02:00
Fabien Potencier
af96c87104 [DependencyInjection] added methods to remove an alias and a definition from a ContainerBuilder instance 2010-09-02 12:20:20 +02:00
Fabien Potencier
7c1b42e81b [DependencyInjection] added a way to inject an anonymous service in an extension configuration
<foo:bar>
        <service class="Foo" />
        <service class="Bar" />
    </foo:bar>

In the foo:bar extension method, you can retrieve the services with:

    // always an array of services
    $config['_services']
2010-09-02 12:17:32 +02:00
Fabien Potencier
d17c2edb49 fixed perms 2010-08-30 20:46:16 +02:00
Noël GUILBERT
d40d1746e0 [ZendBundle] added an option to register zend logger as an error handler 2010-08-30 19:03:12 +02:00
Fabien Potencier
83a64df542 added ContainerAwareInterface 2010-08-28 09:43:10 +02:00
Fabien Potencier
a432417ab9 [DependencyInjection] added a way to ignore errors when importing a non-existent file (useful when you want to include an optional service file) 2010-08-24 16:37:41 +02:00
Fabien Potencier
b1e79963b1 [DependencyInjection] moved extension loading in the freezing process (opens more possibilities in the loading order of configs) 2010-08-24 16:25:08 +02:00
Fabien Potencier
ec8500bd64 [FrameworkBundle] added support for previous exceptions in the exception pages 2010-08-24 14:01:57 +02:00
Fabien Potencier
bf82cf42dd renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00