{"action":"created","issue":{"url":"https://api.github.com/repos/symfony/symfony/issues/18695","repository_url":"https://api.github.com/repos/symfony/symfony","labels_url":"https://api.github.com/repos/symfony/symfony/issues/18695/labels{/name}","comments_url":"https://api.github.com/repos/symfony/symfony/issues/18695/comments","events_url":"https://api.github.com/repos/symfony/symfony/issues/18695/events","html_url":"https://github.com/symfony/symfony/pull/18695","id":152638790,"number":18695,"title":"[DependencyInjection] Suggest ExpressionLanguage in composer.json","user":{"login":"chalasr","id":7502063,"avatar_url":"https://avatars.githubusercontent.com/u/7502063?v=3","gravatar_id":"","url":"https://api.github.com/users/chalasr","html_url":"https://github.com/chalasr","followers_url":"https://api.github.com/users/chalasr/followers","following_url":"https://api.github.com/users/chalasr/following{/other_user}","gists_url":"https://api.github.com/users/chalasr/gists{/gist_id}","starred_url":"https://api.github.com/users/chalasr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chalasr/subscriptions","organizations_url":"https://api.github.com/users/chalasr/orgs","repos_url":"https://api.github.com/users/chalasr/repos","events_url":"https://api.github.com/users/chalasr/events{/privacy}","received_events_url":"https://api.github.com/users/chalasr/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/symfony/symfony/labels/DependencyInjection","name":"DependencyInjection","color":"DDDDDD"},{"url":"https://api.github.com/repos/symfony/symfony/labels/Status:%20Needs%20Review","name":"Status: Needs Review","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-05-02T20:35:11Z","updated_at":"2016-05-03T14:51:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/symfony/symfony/pulls/18695","html_url":"https://github.com/symfony/symfony/pull/18695","diff_url":"https://github.com/symfony/symfony/pull/18695.diff","patch_url":"https://github.com/symfony/symfony/pull/18695.patch"},"body":"| Q             | A\r\n| ------------- | ---\r\n| Branch?       | 2.7\r\n| Bug fix?      | no\r\n| New feature?  | no\r\n| BC breaks?    | no\r\n| Deprecations? | no\r\n| Tests pass?   | yes\r\n| Fixed tickets | n/a\r\n| License       | MIT\r\n| Doc PR        | n/a\r\n\r\nAs the DependencyInjection component has lots of classes containing uses of the ExpressionLanguage component, I propose to add it to the composer.json suggests. "},"comment":{"url":"https://api.github.com/repos/symfony/symfony/issues/comments/216553447","html_url":"https://github.com/symfony/symfony/pull/18695#issuecomment-216553447","issue_url":"https://api.github.com/repos/symfony/symfony/issues/18695","id":216553447,"user":{"login":"chalasr","id":7502063,"avatar_url":"https://avatars.githubusercontent.com/u/7502063?v=3","gravatar_id":"","url":"https://api.github.com/users/chalasr","html_url":"https://github.com/chalasr","followers_url":"https://api.github.com/users/chalasr/followers","following_url":"https://api.github.com/users/chalasr/following{/other_user}","gists_url":"https://api.github.com/users/chalasr/gists{/gist_id}","starred_url":"https://api.github.com/users/chalasr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chalasr/subscriptions","organizations_url":"https://api.github.com/users/chalasr/orgs","repos_url":"https://api.github.com/users/chalasr/repos","events_url":"https://api.github.com/users/chalasr/events{/privacy}","received_events_url":"https://api.github.com/users/chalasr/received_events","type":"User","site_admin":false},"created_at":"2016-05-03T14:51:24Z","updated_at":"2016-05-03T14:51:24Z","body":"@fabpot To be honest, no, especially when the tool(s) used is part of my \"everyday\" ones (as Symfony is). To give you an explanation about the motivation of opening this PR:\r\n\r\nI worked on a project (LexikJWTAuthenticationBundle) that requires the FrameworkBundle as dependency. I was looking for a way to inject a service as argument of another one, with a dynamic value (a defined parameter between to possible values) used as the last part of the identifier of the injected service.\r\nI tried to use `<argument type=\"expression\"'>service('service_namespace' ~ parameter('dynamic_value'))</argument>`.\r\nThis leaded to an error due to (of course) the unknown ExpressionLanguage required by the XmlFileLoader.\r\n\r\nSo, I looked at how dependencies are managed for components that use other (symfony) component(s), especially if the used components are required or not. \r\nI quickly realized that most of them don't require the other components they use (out of dev dependencies).\r\nThen, I started a project with the dependency-injection component as the only required dependency to see if the ExpressionLanguage will be here, or (at least) if composer tell me to install it, as it is used by several classes of the DI component.\r\n\r\nFinally, I assumed that developers who have to work with the component should be informed of the packages that are mandatory to make it work properly.\r\n\r\nAm I wrong? Is it the responsibility of the developer to take a look at the component by himself to see what he can use and what he can't?"}}