{"action":"created","issue":{"url":"https://api.github.com/repos/robmorgan/phinx/issues/905","repository_url":"https://api.github.com/repos/robmorgan/phinx","labels_url":"https://api.github.com/repos/robmorgan/phinx/issues/905/labels{/name}","comments_url":"https://api.github.com/repos/robmorgan/phinx/issues/905/comments","events_url":"https://api.github.com/repos/robmorgan/phinx/issues/905/events","html_url":"https://github.com/robmorgan/phinx/pull/905","id":165728259,"number":905,"title":"Constructor declaration removed from ConfigInterface","user":{"login":"f3ath","id":831399,"avatar_url":"https://avatars.githubusercontent.com/u/831399?v=3","gravatar_id":"","url":"https://api.github.com/users/f3ath","html_url":"https://github.com/f3ath","followers_url":"https://api.github.com/users/f3ath/followers","following_url":"https://api.github.com/users/f3ath/following{/other_user}","gists_url":"https://api.github.com/users/f3ath/gists{/gist_id}","starred_url":"https://api.github.com/users/f3ath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/f3ath/subscriptions","organizations_url":"https://api.github.com/users/f3ath/orgs","repos_url":"https://api.github.com/users/f3ath/repos","events_url":"https://api.github.com/users/f3ath/events{/privacy}","received_events_url":"https://api.github.com/users/f3ath/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/robmorgan/phinx/labels/enhancement","name":"enhancement","color":"444444"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/robmorgan/phinx/milestones/27","html_url":"https://github.com/robmorgan/phinx/milestones/0.7.0","labels_url":"https://api.github.com/repos/robmorgan/phinx/milestones/27/labels","id":1866995,"number":27,"title":"0.7.0","description":null,"creator":{"login":"rquadling","id":12801,"avatar_url":"https://avatars.githubusercontent.com/u/12801?v=3","gravatar_id":"","url":"https://api.github.com/users/rquadling","html_url":"https://github.com/rquadling","followers_url":"https://api.github.com/users/rquadling/followers","following_url":"https://api.github.com/users/rquadling/following{/other_user}","gists_url":"https://api.github.com/users/rquadling/gists{/gist_id}","starred_url":"https://api.github.com/users/rquadling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rquadling/subscriptions","organizations_url":"https://api.github.com/users/rquadling/orgs","repos_url":"https://api.github.com/users/rquadling/repos","events_url":"https://api.github.com/users/rquadling/events{/privacy}","received_events_url":"https://api.github.com/users/rquadling/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":1,"state":"open","created_at":"2016-07-06T07:59:50Z","updated_at":"2016-07-15T17:47:59Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2016-07-15T07:34:27Z","updated_at":"2016-07-25T11:50:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/robmorgan/phinx/pulls/905","html_url":"https://github.com/robmorgan/phinx/pull/905","diff_url":"https://github.com/robmorgan/phinx/pull/905.diff","patch_url":"https://github.com/robmorgan/phinx/pull/905.patch"},"body":"Having constructor declared in \\Phinx\\Config\\ConfigInterface makes it unreasonably hard to make non file based configurations. I have a Silex project with its own configuration infrastructure and I want to use Phinx as the migration tool. My plan is to inherit from `\\Symfony\\Component\\Console\\Application` roughly like this:\r\n\r\n```php\r\nclass MyPhinxApplication extends \\Phinx\\Console\\PhinxApplication\r\n{\r\n    public function __construct(MySilexApplication $app)\r\n    {\r\n        parent::__construct();\r\n        $config = new MyConfigAdapter($app);\r\n        foreach ($this->all() as $command) {\r\n            if ($command instanceof Phinx\\Console\\Command\\AbstractCommand) {\r\n                $command->setConfig($config);\r\n            }\r\n        }\r\n    }\r\n\r\n}\r\n\r\nclass MyConfigAdapter implements \\Phinx\\Config\\ConfigInterface\r\n{\r\n    public function __construct(MySilexApplication $app)\r\n    {\r\n        // here i can extract whatever i need from my Silex app\r\n    }\r\n    ...\r\n}\r\n```\r\n\r\nThe constructor declaration effectively prevents me from doing this, instead i have to fake the `$configArray` and `$configFilePath`, and inject my Silex app through a setter."},"comment":{"url":"https://api.github.com/repos/robmorgan/phinx/issues/comments/234932322","html_url":"https://github.com/robmorgan/phinx/pull/905#issuecomment-234932322","issue_url":"https://api.github.com/repos/robmorgan/phinx/issues/905","id":234932322,"user":{"login":"rquadling","id":12801,"avatar_url":"https://avatars.githubusercontent.com/u/12801?v=3","gravatar_id":"","url":"https://api.github.com/users/rquadling","html_url":"https://github.com/rquadling","followers_url":"https://api.github.com/users/rquadling/followers","following_url":"https://api.github.com/users/rquadling/following{/other_user}","gists_url":"https://api.github.com/users/rquadling/gists{/gist_id}","starred_url":"https://api.github.com/users/rquadling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rquadling/subscriptions","organizations_url":"https://api.github.com/users/rquadling/orgs","repos_url":"https://api.github.com/users/rquadling/repos","events_url":"https://api.github.com/users/rquadling/events{/privacy}","received_events_url":"https://api.github.com/users/rquadling/received_events","type":"User","site_admin":false},"created_at":"2016-07-25T11:50:12Z","updated_at":"2016-07-25T11:50:12Z","body":"No. Master gets updated upon release. Until that happens, it will be in the dev branch.\r\n\r\nAs this is an interface change, SemVer requires this to go into a new tag for the release, so that will need to go into a new 0.7.x-dev branch.\r\n\r\nHence the 0.7.0 Milestone."}}
{"actor":{"display_login":"rquadling"}}