{"action":"created","issue":{"url":"https://api.github.com/repos/slimphp/Slim/issues/1652","labels_url":"https://api.github.com/repos/slimphp/Slim/issues/1652/labels{/name}","comments_url":"https://api.github.com/repos/slimphp/Slim/issues/1652/comments","events_url":"https://api.github.com/repos/slimphp/Slim/issues/1652/events","html_url":"https://github.com/slimphp/Slim/issues/1652","id":120633319,"number":1652,"title":"How to extend \\Slim\\Container?","user":{"login":"irfanevrens","id":166640,"avatar_url":"https://avatars.githubusercontent.com/u/166640?v=3","gravatar_id":"","url":"https://api.github.com/users/irfanevrens","html_url":"https://github.com/irfanevrens","followers_url":"https://api.github.com/users/irfanevrens/followers","following_url":"https://api.github.com/users/irfanevrens/following{/other_user}","gists_url":"https://api.github.com/users/irfanevrens/gists{/gist_id}","starred_url":"https://api.github.com/users/irfanevrens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irfanevrens/subscriptions","organizations_url":"https://api.github.com/users/irfanevrens/orgs","repos_url":"https://api.github.com/users/irfanevrens/repos","events_url":"https://api.github.com/users/irfanevrens/events{/privacy}","received_events_url":"https://api.github.com/users/irfanevrens/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-12-06T13:09:32Z","updated_at":"2015-12-09T22:07:26Z","closed_at":"2015-12-06T13:59:16Z","body":"Hello, \\Slim\\Container is final class. I want to extend it, how can I able to do that? "},"comment":{"url":"https://api.github.com/repos/slimphp/Slim/issues/comments/163412046","html_url":"https://github.com/slimphp/Slim/issues/1652#issuecomment-163412046","issue_url":"https://api.github.com/repos/slimphp/Slim/issues/1652","id":163412046,"user":{"login":"mbretter","id":1787808,"avatar_url":"https://avatars.githubusercontent.com/u/1787808?v=3","gravatar_id":"","url":"https://api.github.com/users/mbretter","html_url":"https://github.com/mbretter","followers_url":"https://api.github.com/users/mbretter/followers","following_url":"https://api.github.com/users/mbretter/following{/other_user}","gists_url":"https://api.github.com/users/mbretter/gists{/gist_id}","starred_url":"https://api.github.com/users/mbretter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbretter/subscriptions","organizations_url":"https://api.github.com/users/mbretter/orgs","repos_url":"https://api.github.com/users/mbretter/repos","events_url":"https://api.github.com/users/mbretter/events{/privacy}","received_events_url":"https://api.github.com/users/mbretter/received_events","type":"User","site_admin":false},"created_at":"2015-12-09T22:07:26Z","updated_at":"2015-12-09T22:07:26Z","body":"Let's summarize this:\r\n- Slim\\Container is made final due to some design patterns\r\n- I'm putting a lot of stuff (database handles, logger, session manager, cache manager, etc) into the Slim\\Container\r\n- Code completion does not work, because the php doc is missing, the solution would be: every time we are using an item from the container putting it into a local var and write the phpdoc for it, produces a lot of unnecessary code and takes time to write\r\n- The other solution is copying the whole Slim\\Container, putting this 1:1 into a new Container class and add the phpdoc, everytime Slim is upgraded, the Container has to be manually checked for code changes.\r\n\r\nI always enjoyed Slim and I really like the approach of Slim3, but in this case it would be cool choosing the pragmatic way and remove the final keyword from Slim\\Container ;)\r\n"}}