{"action":"created","issue":{"url":"https://api.github.com/repos/slimphp/Slim/issues/2100","repository_url":"https://api.github.com/repos/slimphp/Slim","labels_url":"https://api.github.com/repos/slimphp/Slim/issues/2100/labels{/name}","comments_url":"https://api.github.com/repos/slimphp/Slim/issues/2100/comments","events_url":"https://api.github.com/repos/slimphp/Slim/issues/2100/events","html_url":"https://github.com/slimphp/Slim/issues/2100","id":194791631,"number":2100,"title":"Refactor container out of Router","user":{"login":"codeguy","id":31677,"avatar_url":"https://avatars.githubusercontent.com/u/31677?v=3","gravatar_id":"","url":"https://api.github.com/users/codeguy","html_url":"https://github.com/codeguy","followers_url":"https://api.github.com/users/codeguy/followers","following_url":"https://api.github.com/users/codeguy/following{/other_user}","gists_url":"https://api.github.com/users/codeguy/gists{/gist_id}","starred_url":"https://api.github.com/users/codeguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codeguy/subscriptions","organizations_url":"https://api.github.com/users/codeguy/orgs","repos_url":"https://api.github.com/users/codeguy/repos","events_url":"https://api.github.com/users/codeguy/events{/privacy}","received_events_url":"https://api.github.com/users/codeguy/received_events","type":"User","site_admin":false},"labels":[{"id":372378249,"url":"https://api.github.com/repos/slimphp/Slim/labels/Slim%204","name":"Slim 4","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":{"login":"codeguy","id":31677,"avatar_url":"https://avatars.githubusercontent.com/u/31677?v=3","gravatar_id":"","url":"https://api.github.com/users/codeguy","html_url":"https://github.com/codeguy","followers_url":"https://api.github.com/users/codeguy/followers","following_url":"https://api.github.com/users/codeguy/following{/other_user}","gists_url":"https://api.github.com/users/codeguy/gists{/gist_id}","starred_url":"https://api.github.com/users/codeguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codeguy/subscriptions","organizations_url":"https://api.github.com/users/codeguy/orgs","repos_url":"https://api.github.com/users/codeguy/repos","events_url":"https://api.github.com/users/codeguy/events{/privacy}","received_events_url":"https://api.github.com/users/codeguy/received_events","type":"User","site_admin":false},"assignees":[{"login":"codeguy","id":31677,"avatar_url":"https://avatars.githubusercontent.com/u/31677?v=3","gravatar_id":"","url":"https://api.github.com/users/codeguy","html_url":"https://github.com/codeguy","followers_url":"https://api.github.com/users/codeguy/followers","following_url":"https://api.github.com/users/codeguy/following{/other_user}","gists_url":"https://api.github.com/users/codeguy/gists{/gist_id}","starred_url":"https://api.github.com/users/codeguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codeguy/subscriptions","organizations_url":"https://api.github.com/users/codeguy/orgs","repos_url":"https://api.github.com/users/codeguy/repos","events_url":"https://api.github.com/users/codeguy/events{/privacy}","received_events_url":"https://api.github.com/users/codeguy/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/slimphp/Slim/milestones/27","html_url":"https://github.com/slimphp/Slim/milestone/27","labels_url":"https://api.github.com/repos/slimphp/Slim/milestones/27/labels","id":1471056,"number":27,"title":"4.0","description":"","creator":{"login":"akrabat","id":33135,"avatar_url":"https://avatars.githubusercontent.com/u/33135?v=3","gravatar_id":"","url":"https://api.github.com/users/akrabat","html_url":"https://github.com/akrabat","followers_url":"https://api.github.com/users/akrabat/followers","following_url":"https://api.github.com/users/akrabat/following{/other_user}","gists_url":"https://api.github.com/users/akrabat/gists{/gist_id}","starred_url":"https://api.github.com/users/akrabat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akrabat/subscriptions","organizations_url":"https://api.github.com/users/akrabat/orgs","repos_url":"https://api.github.com/users/akrabat/repos","events_url":"https://api.github.com/users/akrabat/events{/privacy}","received_events_url":"https://api.github.com/users/akrabat/received_events","type":"User","site_admin":false},"open_issues":25,"closed_issues":11,"state":"open","created_at":"2015-12-22T11:31:46Z","updated_at":"2016-12-10T20:26:16Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2016-12-10T20:26:16Z","updated_at":"2016-12-10T22:28:22Z","closed_at":null,"body":"The router currently needs a reference to the app container only to bind the Route callable to the container if the callable is a `\\Closure`. Each route instance currently needs the container to locate the app's `FoundHandler` strategy if available, else it falls back to a default `RequestResponseStrategy`.\r\n\r\nWe should remove the container from the router and route instance and, instead, inject the `FoundHandler` strategy into the router during router creation while also adding `FoundHandler` getter/setter methods on the router should the end user wish to change it during runtime.\r\n\r\nIn `App::map()`, we are setting the route's output buffering setting. This should really be encapsulated in the router, imo. We can set this preference when we instantiate the router (discovered from app settings), and the router can assign the output buffering preference to each new route in `Router::createRoute()`.\r\n\r\nThese changes will completely decouple the app container from router and route instances."},"comment":{"url":"https://api.github.com/repos/slimphp/Slim/issues/comments/266244447","html_url":"https://github.com/slimphp/Slim/issues/2100#issuecomment-266244447","issue_url":"https://api.github.com/repos/slimphp/Slim/issues/2100","id":266244447,"user":{"login":"akrabat","id":33135,"avatar_url":"https://avatars.githubusercontent.com/u/33135?v=3","gravatar_id":"","url":"https://api.github.com/users/akrabat","html_url":"https://github.com/akrabat","followers_url":"https://api.github.com/users/akrabat/followers","following_url":"https://api.github.com/users/akrabat/following{/other_user}","gists_url":"https://api.github.com/users/akrabat/gists{/gist_id}","starred_url":"https://api.github.com/users/akrabat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akrabat/subscriptions","organizations_url":"https://api.github.com/users/akrabat/orgs","repos_url":"https://api.github.com/users/akrabat/repos","events_url":"https://api.github.com/users/akrabat/events{/privacy}","received_events_url":"https://api.github.com/users/akrabat/received_events","type":"User","site_admin":false},"created_at":"2016-12-10T22:28:22Z","updated_at":"2016-12-10T22:28:22Z","body":"There's an argument that we just remove the output buffering thing altogether. \r\n\r\nWe'll need to ensure that a `var_dump()` still works though."}}
{"actor":{"display_login":"akrabat"}}