{"action":"created","issue":{"url":"https://api.github.com/repos/hassankhan/config/issues/52","labels_url":"https://api.github.com/repos/hassankhan/config/issues/52/labels{/name}","comments_url":"https://api.github.com/repos/hassankhan/config/issues/52/comments","events_url":"https://api.github.com/repos/hassankhan/config/issues/52/events","html_url":"https://github.com/hassankhan/config/pull/52","id":112114295,"number":52,"title":"Adding container-interop compatibility","user":{"login":"moufmouf","id":1290952,"avatar_url":"https://avatars.githubusercontent.com/u/1290952?v=3","gravatar_id":"","url":"https://api.github.com/users/moufmouf","html_url":"https://github.com/moufmouf","followers_url":"https://api.github.com/users/moufmouf/followers","following_url":"https://api.github.com/users/moufmouf/following{/other_user}","gists_url":"https://api.github.com/users/moufmouf/gists{/gist_id}","starred_url":"https://api.github.com/users/moufmouf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moufmouf/subscriptions","organizations_url":"https://api.github.com/users/moufmouf/orgs","repos_url":"https://api.github.com/users/moufmouf/repos","events_url":"https://api.github.com/users/moufmouf/events{/privacy}","received_events_url":"https://api.github.com/users/moufmouf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-10-19T10:08:10Z","updated_at":"2015-10-19T14:18:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hassankhan/config/pulls/52","html_url":"https://github.com/hassankhan/config/pull/52","diff_url":"https://github.com/hassankhan/config/pull/52.diff","patch_url":"https://github.com/hassankhan/config/pull/52.patch"},"body":"Hey!\r\n\r\nThis pull request is a proposal to add \"[container-interop](https://github.com/container-interop/container-interop)\" compatibility to \"config\".\r\nAs you can see, this pull request is... wooh... 3 lines long :)\r\n\r\nConfig already complies with container-interop's `ContainerInterface`. The only thing we have to do is add the interface.\r\n\r\nWhy would we want to do that?\r\n\r\nContainer-interop is a common interface for dependency injection containers. Containers usually store services, but they can also store **parameters**. container-interop does not do any distinction between services and parameters. In container-interop vocabulary, containers are used to store \"entries\" (they can be either services or parameters... or whatever!)\r\n\r\nConfig could therefore be considered as a container providing config parameters. And this is absolutely great, because this means that any container compatible with container-interop (and there are a bunch of them!) would be able to fetch data from the Config container (one of the big ideas of container-interop is to allow a container to fetch parameters/service from other containers through [delegate dependency lookup](https://github.com/container-interop/container-interop/blob/master/docs/Delegate-lookup-meta.md))\r\n\r\nIn short, this pull request makes it possible to use Config really easily with a hug range of different projects.\r\n\r\nDisclaimer: I'm one of container-interop authors, and I'm also the editor of [PSR-11](https://github.com/php-fig/fig-standards/blob/master/proposed/container.md) (with @mnapoli) that is currently in discussion and planning to transform container-interop into a PSR.\r\n"},"comment":{"url":"https://api.github.com/repos/hassankhan/config/issues/comments/149226295","html_url":"https://github.com/hassankhan/config/pull/52#issuecomment-149226295","issue_url":"https://api.github.com/repos/hassankhan/config/issues/52","id":149226295,"user":{"login":"hassankhan","id":1781985,"avatar_url":"https://avatars.githubusercontent.com/u/1781985?v=3","gravatar_id":"","url":"https://api.github.com/users/hassankhan","html_url":"https://github.com/hassankhan","followers_url":"https://api.github.com/users/hassankhan/followers","following_url":"https://api.github.com/users/hassankhan/following{/other_user}","gists_url":"https://api.github.com/users/hassankhan/gists{/gist_id}","starred_url":"https://api.github.com/users/hassankhan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hassankhan/subscriptions","organizations_url":"https://api.github.com/users/hassankhan/orgs","repos_url":"https://api.github.com/users/hassankhan/repos","events_url":"https://api.github.com/users/hassankhan/events{/privacy}","received_events_url":"https://api.github.com/users/hassankhan/received_events","type":"User","site_admin":false},"created_at":"2015-10-19T14:18:26Z","updated_at":"2015-10-19T14:18:26Z","body":"Ah, I was looking in the `master` branch, my bad. If it already exists, then there should be tests for it. \r\n\r\nI think this maybe something else to line up with a 1.x release, along with #46"}}