Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[DI] autowiring-types deprecated in place of aliases #7445

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
weaverryan opened this issue Feb 1, 2017 · 2 comments
Closed

[DI] autowiring-types deprecated in place of aliases #7445

weaverryan opened this issue Feb 1, 2017 · 2 comments

Comments

@weaverryan
Copy link
Member

weaverryan commented Feb 1, 2017

See symfony/symfony#21494

Not only do we need to remove autowiring-types, we should show clearly how you can use aliases to choose what class should be autowired for a specific interface/class.

Also, Stof noted that you can/should mark these aliases as private: we don't need them to be available on the final, cached container.

fabpot added a commit to symfony/symfony that referenced this issue Feb 1, 2017
…icolas-grekas)

This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Deprecate autowiring-types in favor of aliases

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #21351, #19970, ~~#18040~~, ~~#17783~~
| License       | MIT
| Doc PR        | symfony/symfony-docs#7445

https://github.com/symfony/symfony/pull/21494/files?w=1
This PR deprecates autowiring-types and replaces them by plain aliases.
ping @dunglas @weaverryan

Eg instead of
```xml
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false">
    <autowiring-type>Doctrine\Common\Annotations\Reader</autowiring-type>
</service>
```

just do:
```xml
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false" />
<service id="Doctrine\Common\Annotations\Reader" alias="annotations.reader" public="false" />
```

Commits
-------

b11d391 [DI] Deprecate autowiring-types in favor of aliases
symfony-splitter pushed a commit to symfony/dependency-injection that referenced this issue Feb 1, 2017
…icolas-grekas)

This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Deprecate autowiring-types in favor of aliases

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #21351, #19970, ~~#18040~~, ~~#17783~~
| License       | MIT
| Doc PR        | symfony/symfony-docs#7445

https://github.com/symfony/symfony/pull/21494/files?w=1
This PR deprecates autowiring-types and replaces them by plain aliases.
ping @dunglas @weaverryan

Eg instead of
```xml
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false">
    <autowiring-type>Doctrine\Common\Annotations\Reader</autowiring-type>
</service>
```

just do:
```xml
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false" />
<service id="Doctrine\Common\Annotations\Reader" alias="annotations.reader" public="false" />
```

Commits
-------

b11d391cb7 [DI] Deprecate autowiring-types in favor of aliases
@javiereguiluz javiereguiluz added this to the 3.3 milestone Feb 12, 2017
@javiereguiluz
Copy link
Member

javiereguiluz commented Feb 17, 2017

@mvrhov
Copy link

mvrhov commented Feb 17, 2017

With this deprecated, can I get a different path to implement the feature in this PR pomm-project/pomm-bundle@4b99826#diff-f3fa84fa353839f0e811b03d9d0c24b6

javiereguiluz added a commit that referenced this issue Apr 28, 2017
This PR was merged into the master branch.

Discussion
----------

[DependencyInjection] Document FQCN aliases

Fix #7445

> Not only do we need to remove autowiring-types, we should show clearly how you can use aliases to choose what class should be autowired for a specific interface/class.
>
> Also, Stof noted that you can/should mark these aliases as private: we don't need them to be available on the final, cached container.

Commits
-------

a530019 [DependencyInjection] Document FQCN aliases
weaverryan added a commit that referenced this issue May 5, 2017
This PR was merged into the master branch.

Discussion
----------

Updates to DI config for 3.3

Hi guys!

WIP changes the new DI changes in 3.3! Woohoo! Some notes for myself:

This relates to, oh, just these 10+ issues :). Assume they will all be closed by this one PR - before merge, if any of them aren't covered, I'll remove them.

TODOS later (some might already be done)
- update to use `debug:container --types` (symfony/symfony#22624)
- update all other documents for possible changes for autowiring and autoconfigure
- new page for existing Symfony users to explain the changes
- update autowire section to talk about using aliases
- document instanceof and also the ability to add configuration to the PSR4 loader
- some links in the controller go to the API docs of `Controller`. But this is wrong, the methods
now live in `ControllerTrait`... but the API docs for traits is basically broken: http://api.symfony.com/master/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.html
- how should we pass a parameter to a controller?
- do Twig extensions still need to be public? If so, the example in `service_container` about autoconfigure is still not quite right

Definitely included in this PR
* #7544
* #7482
* #7339
* #7672

Not included in this PR (but related to DI changes)
* #7329
* #7782
* #7777
* #7706
* #7608
* #7538
* #7441
* #7255
* ~~#7041~~
* ~~#7445~~
* ~~#7444~~
* ~~#7436~~

Commits
-------

22adfbd removing duplicate target
12c4944 Tweaks after amazing review from @GuilhemN and @xabbuh
cac3c6c Merge remote-tracking branch 'origin/master' into di-3.3-changes
2229fd3 Merge remote-tracking branch 'origin/master' into di-3.3-changes
5452c61 Adding section about public: false
ee27765 Adding versionadded
bc7088d Merge remote-tracking branch 'origin/di-3.3-changes' into di-3.3-changes
443aec2 Merge pull request #7857 from GuilhemN/patch-1
89e12de bad link
6de83e2 fixing build problem
759e9b2 last tweaks from feedback
45500b3 Adding details and usages of fetching the service as a controller arg
70178d1 adding note about autoconfigure
6e6ed94 more tweaks
0e48bd8 [WIP] Updates to DI config for 3.3
9ab27f0 Add xml files
2636bea bad link
c45daf4 fixing build problem
9e84572 last tweaks from feedback
049df7d Adding details and usages of fetching the service as a controller arg
105801c adding note about autoconfigure
2d11347 more tweaks
8433fc1 [WIP] Updates to DI config for 3.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants