{"action":"created","issue":{"url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/4360","repository_url":"https://api.github.com/repos/akeneo/pim-community-dev","labels_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/4360/labels{/name}","comments_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/4360/comments","events_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/4360/events","html_url":"https://github.com/akeneo/pim-community-dev/pull/4360","id":150461875,"number":4360,"title":"Jml remove nelmio","user":{"login":"jmleroux","id":1516770,"avatar_url":"https://avatars.githubusercontent.com/u/1516770?v=3","gravatar_id":"","url":"https://api.github.com/users/jmleroux","html_url":"https://github.com/jmleroux","followers_url":"https://api.github.com/users/jmleroux/followers","following_url":"https://api.github.com/users/jmleroux/following{/other_user}","gists_url":"https://api.github.com/users/jmleroux/gists{/gist_id}","starred_url":"https://api.github.com/users/jmleroux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmleroux/subscriptions","organizations_url":"https://api.github.com/users/jmleroux/orgs","repos_url":"https://api.github.com/users/jmleroux/repos","events_url":"https://api.github.com/users/jmleroux/events{/privacy}","received_events_url":"https://api.github.com/users/jmleroux/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akeneo/pim-community-dev/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/akeneo/pim-community-dev/labels/experimental","name":"experimental","color":"009800"},{"url":"https://api.github.com/repos/akeneo/pim-community-dev/labels/performance","name":"performance","color":"c7def8"},{"url":"https://api.github.com/repos/akeneo/pim-community-dev/labels/to%20review","name":"to review","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/akeneo/pim-community-dev/milestones/11","html_url":"https://github.com/akeneo/pim-community-dev/milestones/1.6.0","labels_url":"https://api.github.com/repos/akeneo/pim-community-dev/milestones/11/labels","id":1599105,"number":11,"title":"1.6.0","description":"","creator":{"login":"nidup","id":2104359,"avatar_url":"https://avatars.githubusercontent.com/u/2104359?v=3","gravatar_id":"","url":"https://api.github.com/users/nidup","html_url":"https://github.com/nidup","followers_url":"https://api.github.com/users/nidup/followers","following_url":"https://api.github.com/users/nidup/following{/other_user}","gists_url":"https://api.github.com/users/nidup/gists{/gist_id}","starred_url":"https://api.github.com/users/nidup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nidup/subscriptions","organizations_url":"https://api.github.com/users/nidup/orgs","repos_url":"https://api.github.com/users/nidup/repos","events_url":"https://api.github.com/users/nidup/events{/privacy}","received_events_url":"https://api.github.com/users/nidup/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":26,"state":"open","created_at":"2016-02-23T07:31:39Z","updated_at":"2016-04-24T10:41:22Z","due_on":"2016-09-29T22:00:00Z","closed_at":null},"comments":2,"created_at":"2016-04-22T20:16:56Z","updated_at":"2016-04-25T09:21:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/4360","html_url":"https://github.com/akeneo/pim-community-dev/pull/4360","diff_url":"https://github.com/akeneo/pim-community-dev/pull/4360.diff","patch_url":"https://github.com/akeneo/pim-community-dev/pull/4360.patch"},"body":"We don't use ApiDoc and it loads too much stuff\r\n\r\nAfter that, a circular dependencie appears. It was just hidden by Nelmio because it was not resolving in the same order.\r\n\r\nAnd finally, after having to use a service locator, i decided to use it for all Oro Navigation listeners to avoid loading the whole world on each call. Well, if not the whole world, Twig at least should not be loaded on every REST calls.\r\n\r\nIt resulted in much lower numbers for wall time, CPU and memory usage.\r\n\r\nAnd maybe a new paradigm will emerge: **For kernel listeners, we should always use a service locator**\r\n\r\n\r\n| Q                                 | A\r\n| --------------------------------- | ---\r\n| Added Specs                       |\r\n| Added Behats                      |\r\n| Changelog updated                 |\r\n| Review and 2 GTM                  |\r\n| Micro Demo to the PO (Story only) |\r\n| Migration script                  |\r\n| Tech Doc                          |\r\n"},"comment":{"url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/comments/214225908","html_url":"https://github.com/akeneo/pim-community-dev/pull/4360#issuecomment-214225908","issue_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/4360","id":214225908,"user":{"login":"jmleroux","id":1516770,"avatar_url":"https://avatars.githubusercontent.com/u/1516770?v=3","gravatar_id":"","url":"https://api.github.com/users/jmleroux","html_url":"https://github.com/jmleroux","followers_url":"https://api.github.com/users/jmleroux/followers","following_url":"https://api.github.com/users/jmleroux/following{/other_user}","gists_url":"https://api.github.com/users/jmleroux/gists{/gist_id}","starred_url":"https://api.github.com/users/jmleroux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmleroux/subscriptions","organizations_url":"https://api.github.com/users/jmleroux/orgs","repos_url":"https://api.github.com/users/jmleroux/repos","events_url":"https://api.github.com/users/jmleroux/events{/privacy}","received_events_url":"https://api.github.com/users/jmleroux/received_events","type":"User","site_admin":false},"created_at":"2016-04-25T09:21:08Z","updated_at":"2016-04-25T09:21:08Z","body":"@jjanvier ,\r\n\r\nThe service getter cannot be private, because they should be accessible for children classes.\r\nSo they must be private to not be overriden.\r\n\r\nMoreover, it's not pushed, but i've made the `$serviceLocator` private to totally encapsulate the service location and force integrator to use the final getters."}}