Here is an example, taken from Symfony2 website, about defining a custom service (YAML notation):
services:
newsletter_manager:
class: %newsletter_manager.class%
arguments: [@mailer, @templating]
Is there a list of default Symfony2 service objects that can be injected into a custom service as parameters (like @mailer
, @templating
, @doctrine
)?
I know that they come from the Container
(which is available, for example, in each Controller
class). I've tryed to dump all services, but i'm looking for a more detailed list:
php app/console container:debug
logger container Symfony\Bridge\Monolog\Logger
mailer container Swift_Mailer
translator n/a alias for translator.default
...
you can also do this if you want to get details of a single service:
this will give you info on that service
you can use
to get a list of all available public service IDs or
to show both public and private service IDs
You can list services with
If you need more about some service you can use the help
The WebProfilerExtraBundle is very useful for this.
It also adds some details about routing, assetic and twig that are very helpful. As a someone learning to think in Symfony, I REALLY like this bundle.
The command line
php app/console container:debug
shows the list of services you can inject into another service or get from aController with Controller::get($serviceName)
.This list shows only public services. Add the option
--show-private
into display private services. Private services can only be injected in another service, not accessed from a Controller or any ContainerAware...EDIT: From Symfony 2.7, use
debug:container
instead ofcontainer:debug
you can use following command to get desired service details: