To let PHP-DI know what to inject and where, you have several options:
You can also use several or all these options at the same time if you want to.
If you combine several sources, there are priorities that apply. From the highest priority to the least:
- Explicit definition on the container (i.e. defined with
- PHP file definitions (if you add several configuration files, then the last one can override entries from the previous ones)
Read more in the Definition overriding documentation
See the dedicated documentation about autowiring.
See the dedicated documentation about annotations.
See the dedicated documentation about PHP definitions.