{"action":"closed","issue":{"url":"https://api.github.com/repos/symfony/symfony/issues/13454","labels_url":"https://api.github.com/repos/symfony/symfony/issues/13454/labels{/name}","comments_url":"https://api.github.com/repos/symfony/symfony/issues/13454/comments","events_url":"https://api.github.com/repos/symfony/symfony/issues/13454/events","html_url":"https://github.com/symfony/symfony/issues/13454","id":54807622,"number":13454,"title":"[Console] Provide a command interface.","user":{"login":"slbmeh","id":1659267,"avatar_url":"https://avatars.githubusercontent.com/u/1659267?v=3","gravatar_id":"","url":"https://api.github.com/users/slbmeh","html_url":"https://github.com/slbmeh","followers_url":"https://api.github.com/users/slbmeh/followers","following_url":"https://api.github.com/users/slbmeh/following{/other_user}","gists_url":"https://api.github.com/users/slbmeh/gists{/gist_id}","starred_url":"https://api.github.com/users/slbmeh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slbmeh/subscriptions","organizations_url":"https://api.github.com/users/slbmeh/orgs","repos_url":"https://api.github.com/users/slbmeh/repos","events_url":"https://api.github.com/users/slbmeh/events{/privacy}","received_events_url":"https://api.github.com/users/slbmeh/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/symfony/symfony/labels/Console","name":"Console","color":"DDDDDD"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-01-19T20:18:15Z","updated_at":"2015-02-07T04:46:52Z","closed_at":"2015-02-07T04:46:52Z","body":"Rather than stemming from a base class at the root have command implement a command interface.\r\n\r\nScenario I have an installer interface that retrieves metadata relevant to an install command, these installers currently all extend command, the installer command passes it's consumed installers to the application in a run sequence.  I would like to be able to accept installers that have any command implementation without checking that the command is an instanceof installer within each method that requires it be of both types."}}