Johannes M. Schmitt
0144dd86da
adds synthetic attribute to definitions
...
This attribute can be used to hint that the service is being injected
dynamically at runtime, and not constructed by the DIC.
2011-01-23 21:11:50 +01:00
Fabien Potencier
4909987e23
[DependencyInjection] fixed strict flag propagation to aliases
2011-01-22 16:05:51 +01:00
Fabien Potencier
959438ee81
[DependencyInjection] fixed CS + tweaked error messages
2011-01-22 15:35:59 +01:00
Johannes M. Schmitt
1d5b6ed908
adds scope to the DI container
2011-01-22 15:20:50 +01:00
Johannes M. Schmitt
8d19136a55
refactors extensions to call XXXLoad only once with all config sections
2011-01-21 17:04:18 +01:00
Fabien Potencier
0b0c15b7b6
made XSD less strict when possible
2011-01-21 10:53:13 +01:00
Ryan Weaver
17f9162b89
[Standards] Changing many instances of "boolean" to "Boolean".
2011-01-21 09:53:24 +01:00
Johannes M. Schmitt
84fa4b50db
adds setArgument to Definition
2011-01-19 21:48:56 +01:00
Kris Wallsmith
8d6da86016
[DependencyInjection] moved loading stack from static to object scope
2011-01-19 07:28:42 +01:00
Lukas Kahwe Smith
ddea635a51
fixes else -> } else
2011-01-19 07:20:23 +01:00
Dominique Bongiraud
64fb94c725
normalized license messages in PHP files
2011-01-18 08:07:46 +01:00
Fabien Potencier
c5f2ec8d2d
made DIC tags only available during "compilation"
...
Now that we have a compilation phase for the DIC, using tags after compilation
is not needed anymore.
Tags were introduced to allow several independant bundles to be able to
interact which each others (remember that each extension knows nothing about
the others).
But during the compilation phase, the container has been merged ans so, all
the information from all bundles are available. This is then the right place
to deal with tags. That way, less work is needed at runtime and the DIC class
in the cache is also much smaller.
For simple cases, it means that you need to process the tag in a compiler pass
and store the information you need in a DIC parameter (have a look at the
TranslatorPass for a very simple example).
So, the PHP dumper does not add tags to the dumped PHP class anymore (it does
not implements TaggedContainerInterface anymore). But tags are still available
on ContainerBuilder instances.
2011-01-17 11:40:04 +01:00
Fabien Potencier
b7d2528384
added a way for any extension to add classes to the class cache
2011-01-16 11:32:17 +01:00
Fabien Potencier
612dce873b
[DependencyInjection] added the possibility to pass the type of compiler pass in ContainerBuilder::addCompilerPAss
2011-01-16 10:20:13 +01:00
Fabien Potencier
d5c9f37982
[DependencyInjection] added compiler passes as resources
2011-01-16 10:20:10 +01:00
Fabien Potencier
5c64ca8a30
renamed Container::freeze() to Container::compile()
2011-01-16 08:12:36 +01:00
Johannes Schmitt
f1b7bc1fe9
some refactorings/improvements
2011-01-15 21:07:35 +01:00
Igor Wiedler
d1bc959fc6
[DependencyInjection] Typo in Container
...
"freezed" should be "frozen".
2011-01-15 15:22:04 +01:00
Martin Hason
6011073e7c
[DependencyInjection] fixed XmlDumper (corrected validity)
2011-01-14 18:16:11 +01:00
Fabien Potencier
ea6342413c
[DependencyInjection] fixed CS
2011-01-14 17:00:43 +01:00
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