Quantcast
Channel: Symfony Blog
Viewing all articles
Browse latest Browse all 3058

New in Symfony 3.3: Getter autowiring

$
0
0
Kévin Dunglas

Contributed by
Kévin Dunglas
in #21031.

Autowiring is a set of features that enable RAD ("Rapid Application Development") on Symfony applications. Some projects and developers need this kind of development and that's why we keep adding new features to it.

In Symfony 3.3, we decided to add support for getter autowiring for those applications using PHP 7.0 or newer. Consider the following sample classes:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
// src/AppBundle/Manager/Publisher.phpnamespaceAppBundle\Manager;useAppBundle\Parser\Markdown;classPublisher{protectedfunctiongetMarkdownParser():Markdown{}// ...}// src/AppBundle/Parser/Markdown.phpnamespaceAppBundle\Parser\Markdown;classMarkdown{// ...}

Now, add the following service configuration:

1
2
3
4
# app/config/services.ymlservices:AppBundle\Manager\Publisher:autowire:['get*']

Getter autowiring automatically registers the Markdown class as a service and returns an instance of it when the getMarkdownParser() method is called in the Publisher class (and only at this time, lazy loading it).

This feature is part of our experimental features program, so its implementation could change in Symfony 3.4 or we could even remove it entirely. That's why we need you to test it in your real applications and share your thoughts about it with us.

The documentation of this feature is not ready yet, but you can follow@symfonydocs on Twitter to get notified when we publish it.


Be trained by Symfony experts - 2017-02-13 Berlin - 2017-02-13 Berlin - 2017-02-15 Berlin

Viewing all articles
Browse latest Browse all 3058

Trending Articles