{"action":"created","issue":{"url":"https://api.github.com/repos/zendframework/zend-servicemanager/issues/153","repository_url":"https://api.github.com/repos/zendframework/zend-servicemanager","labels_url":"https://api.github.com/repos/zendframework/zend-servicemanager/issues/153/labels{/name}","comments_url":"https://api.github.com/repos/zendframework/zend-servicemanager/issues/153/comments","events_url":"https://api.github.com/repos/zendframework/zend-servicemanager/issues/153/events","html_url":"https://github.com/zendframework/zend-servicemanager/pull/153","id":175123935,"number":153,"title":"Feature: ReflectionBasedAbstractFactory","user":{"login":"weierophinney","id":25943,"avatar_url":"https://avatars.githubusercontent.com/u/25943?v=3","gravatar_id":"","url":"https://api.github.com/users/weierophinney","html_url":"https://github.com/weierophinney","followers_url":"https://api.github.com/users/weierophinney/followers","following_url":"https://api.github.com/users/weierophinney/following{/other_user}","gists_url":"https://api.github.com/users/weierophinney/gists{/gist_id}","starred_url":"https://api.github.com/users/weierophinney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weierophinney/subscriptions","organizations_url":"https://api.github.com/users/weierophinney/orgs","repos_url":"https://api.github.com/users/weierophinney/repos","events_url":"https://api.github.com/users/weierophinney/events{/privacy}","received_events_url":"https://api.github.com/users/weierophinney/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zendframework/zend-servicemanager/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/zendframework/zend-servicemanager/milestones/20","html_url":"https://github.com/zendframework/zend-servicemanager/milestones/3.2.0","labels_url":"https://api.github.com/repos/zendframework/zend-servicemanager/milestones/20/labels","id":1802867,"number":20,"title":"3.2.0","description":"","creator":{"login":"Ocramius","id":154256,"avatar_url":"https://avatars.githubusercontent.com/u/154256?v=3","gravatar_id":"","url":"https://api.github.com/users/Ocramius","html_url":"https://github.com/Ocramius","followers_url":"https://api.github.com/users/Ocramius/followers","following_url":"https://api.github.com/users/Ocramius/following{/other_user}","gists_url":"https://api.github.com/users/Ocramius/gists{/gist_id}","starred_url":"https://api.github.com/users/Ocramius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ocramius/subscriptions","organizations_url":"https://api.github.com/users/Ocramius/orgs","repos_url":"https://api.github.com/users/Ocramius/repos","events_url":"https://api.github.com/users/Ocramius/events{/privacy}","received_events_url":"https://api.github.com/users/Ocramius/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":5,"state":"open","created_at":"2016-06-01T17:16:18Z","updated_at":"2016-09-15T15:57:17Z","due_on":null,"closed_at":null},"comments":12,"created_at":"2016-09-05T20:21:18Z","updated_at":"2016-09-15T16:53:47Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zendframework/zend-servicemanager/pulls/153","html_url":"https://github.com/zendframework/zend-servicemanager/pull/153","diff_url":"https://github.com/zendframework/zend-servicemanager/pull/153.diff","patch_url":"https://github.com/zendframework/zend-servicemanager/pull/153.patch"},"body":"Ports zend-mvc LazyControllerAbstractFactory to zend-servicemanager\n\nThis patch ports zend-mvc's `LazyControllerAbstractFactory` to a more generic `ReflectionBasedAbstractFactory` that can be used anywhere. The principal change is that it does not restrict type generation to only dispatchables.\n\nOne additional change was made: the zend-mvc version hard-codes in a number of \"well known\" services that use short names, mapping them to the actual classes that handle them. This patch keeps them, but allows you to override them via the constructor.\n\nDocumentation is provided, which contrasts it to the ConfigAbstractFactory; benchmarks verify that one principal difference is performance (the ConfigAbstractFactory is 2x faster, but requires more configuration).\n\nI think between this and the ConfigAbstractFactory, we'll have a nice story to tell around developer experience for the 3.2 release."},"comment":{"url":"https://api.github.com/repos/zendframework/zend-servicemanager/issues/comments/247385843","html_url":"https://github.com/zendframework/zend-servicemanager/pull/153#issuecomment-247385843","issue_url":"https://api.github.com/repos/zendframework/zend-servicemanager/issues/153","id":247385843,"user":{"login":"weierophinney","id":25943,"avatar_url":"https://avatars.githubusercontent.com/u/25943?v=3","gravatar_id":"","url":"https://api.github.com/users/weierophinney","html_url":"https://github.com/weierophinney","followers_url":"https://api.github.com/users/weierophinney/followers","following_url":"https://api.github.com/users/weierophinney/following{/other_user}","gists_url":"https://api.github.com/users/weierophinney/gists{/gist_id}","starred_url":"https://api.github.com/users/weierophinney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weierophinney/subscriptions","organizations_url":"https://api.github.com/users/weierophinney/orgs","repos_url":"https://api.github.com/users/weierophinney/repos","events_url":"https://api.github.com/users/weierophinney/events{/privacy}","received_events_url":"https://api.github.com/users/weierophinney/received_events","type":"User","site_admin":false},"created_at":"2016-09-15T16:53:47Z","updated_at":"2016-09-15T16:53:47Z","body":"After making the changes suggested by @danizord , the benchmarks improved; the `ReflectionBasedAbstractFactory` is now only around 50% slower than the `ConfigAbstractFactory`, and, in the case of no constructor arguments, around 50% faster."}}
{"actor":{"display_login":"weierophinney"}}