{"action":"created","issue":{"url":"https://api.github.com/repos/ImpressCMS/impresscms/issues/161","repository_url":"https://api.github.com/repos/ImpressCMS/impresscms","labels_url":"https://api.github.com/repos/ImpressCMS/impresscms/issues/161/labels{/name}","comments_url":"https://api.github.com/repos/ImpressCMS/impresscms/issues/161/comments","events_url":"https://api.github.com/repos/ImpressCMS/impresscms/issues/161/events","html_url":"https://github.com/ImpressCMS/impresscms/issues/161","id":295801719,"number":161,"title":"Start using dependency injector","user":{"login":"MekDrop","id":342641,"avatar_url":"https://avatars1.githubusercontent.com/u/342641?v=4","gravatar_id":"","url":"https://api.github.com/users/MekDrop","html_url":"https://github.com/MekDrop","followers_url":"https://api.github.com/users/MekDrop/followers","following_url":"https://api.github.com/users/MekDrop/following{/other_user}","gists_url":"https://api.github.com/users/MekDrop/gists{/gist_id}","starred_url":"https://api.github.com/users/MekDrop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MekDrop/subscriptions","organizations_url":"https://api.github.com/users/MekDrop/orgs","repos_url":"https://api.github.com/users/MekDrop/repos","events_url":"https://api.github.com/users/MekDrop/events{/privacy}","received_events_url":"https://api.github.com/users/MekDrop/received_events","type":"User","site_admin":false},"labels":[{"id":240033326,"url":"https://api.github.com/repos/ImpressCMS/impresscms/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"MekDrop","id":342641,"avatar_url":"https://avatars1.githubusercontent.com/u/342641?v=4","gravatar_id":"","url":"https://api.github.com/users/MekDrop","html_url":"https://github.com/MekDrop","followers_url":"https://api.github.com/users/MekDrop/followers","following_url":"https://api.github.com/users/MekDrop/following{/other_user}","gists_url":"https://api.github.com/users/MekDrop/gists{/gist_id}","starred_url":"https://api.github.com/users/MekDrop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MekDrop/subscriptions","organizations_url":"https://api.github.com/users/MekDrop/orgs","repos_url":"https://api.github.com/users/MekDrop/repos","events_url":"https://api.github.com/users/MekDrop/events{/privacy}","received_events_url":"https://api.github.com/users/MekDrop/received_events","type":"User","site_admin":false},"assignees":[{"login":"MekDrop","id":342641,"avatar_url":"https://avatars1.githubusercontent.com/u/342641?v=4","gravatar_id":"","url":"https://api.github.com/users/MekDrop","html_url":"https://github.com/MekDrop","followers_url":"https://api.github.com/users/MekDrop/followers","following_url":"https://api.github.com/users/MekDrop/following{/other_user}","gists_url":"https://api.github.com/users/MekDrop/gists{/gist_id}","starred_url":"https://api.github.com/users/MekDrop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MekDrop/subscriptions","organizations_url":"https://api.github.com/users/MekDrop/orgs","repos_url":"https://api.github.com/users/MekDrop/repos","events_url":"https://api.github.com/users/MekDrop/events{/privacy}","received_events_url":"https://api.github.com/users/MekDrop/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/ImpressCMS/impresscms/milestones/3","html_url":"https://github.com/ImpressCMS/impresscms/milestone/3","labels_url":"https://api.github.com/repos/ImpressCMS/impresscms/milestones/3/labels","id":2159465,"number":3,"title":"2.0.0","description":"First release of 2.0.x, removing the legacy classes marked deprecated and focus on community features - comments, notifications, users, groups, permissions, messaging. \r\nContinued improvement of the core architecture, PDO, security, and leveraging other methods for managing dependencies and 3rd party libraries\r\nPHP 7.2 compatibility is a goal","creator":{"login":"skenow","id":2429107,"avatar_url":"https://avatars1.githubusercontent.com/u/2429107?v=4","gravatar_id":"","url":"https://api.github.com/users/skenow","html_url":"https://github.com/skenow","followers_url":"https://api.github.com/users/skenow/followers","following_url":"https://api.github.com/users/skenow/following{/other_user}","gists_url":"https://api.github.com/users/skenow/gists{/gist_id}","starred_url":"https://api.github.com/users/skenow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skenow/subscriptions","organizations_url":"https://api.github.com/users/skenow/orgs","repos_url":"https://api.github.com/users/skenow/repos","events_url":"https://api.github.com/users/skenow/events{/privacy}","received_events_url":"https://api.github.com/users/skenow/received_events","type":"User","site_admin":false},"open_issues":49,"closed_issues":38,"state":"open","created_at":"2016-11-27T18:44:06Z","updated_at":"2018-03-07T09:18:07Z","due_on":"2018-01-11T08:00:00Z","closed_at":null},"comments":5,"created_at":"2018-02-09T09:15:09Z","updated_at":"2018-03-07T10:50:13Z","closed_at":null,"author_association":"OWNER","body":"Right now we use have some classes that have service methods. These methods are loaded when ICMS boots. It works, but we have few problems with such implementation:\r\n- if we need new service for some composer package we need to write some extra class\r\n- all our services are always loaded (so, we are loosing speed if not all services are needed)\r\n- it harder to split icms lib in multiple composer packages (for easier maintaining)\r\nBy switching to DI lib, I think we could solve these issues.\r\n\r\nI found these composer libs that we could use:\r\n- [Aura.Di](http://auraphp.com/packages/3.x/Di/)\r\n- [league/container](http://container.thephpleague.com)\r\n- [php-di/php-di](http://php-di.org)\r\n- [pimple/pimple](https://pimple.symfony.com)\r\n\r\nSo, what do you think?"},"comment":{"url":"https://api.github.com/repos/ImpressCMS/impresscms/issues/comments/371100384","html_url":"https://github.com/ImpressCMS/impresscms/issues/161#issuecomment-371100384","issue_url":"https://api.github.com/repos/ImpressCMS/impresscms/issues/161","id":371100384,"user":{"login":"MekDrop","id":342641,"avatar_url":"https://avatars1.githubusercontent.com/u/342641?v=4","gravatar_id":"","url":"https://api.github.com/users/MekDrop","html_url":"https://github.com/MekDrop","followers_url":"https://api.github.com/users/MekDrop/followers","following_url":"https://api.github.com/users/MekDrop/following{/other_user}","gists_url":"https://api.github.com/users/MekDrop/gists{/gist_id}","starred_url":"https://api.github.com/users/MekDrop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MekDrop/subscriptions","organizations_url":"https://api.github.com/users/MekDrop/orgs","repos_url":"https://api.github.com/users/MekDrop/repos","events_url":"https://api.github.com/users/MekDrop/events{/privacy}","received_events_url":"https://api.github.com/users/MekDrop/received_events","type":"User","site_admin":false},"created_at":"2018-03-07T10:50:13Z","updated_at":"2018-03-07T10:50:13Z","author_association":"OWNER","body":"Ok it seems that if use [phpleague/route](http://route.thephpleague.com) for #189 we are already getting [phpleague/container](http://container.thephpleague.com). Maybe we should use this one or should I try to find another router?"}}
{"actor":{"display_login":"MekDrop"}}