{"action":"closed","number":3128,"pull_request":{"url":"https://api.github.com/repos/magento/magento2/pulls/3128","id":57144751,"html_url":"https://github.com/magento/magento2/pull/3128","diff_url":"https://github.com/magento/magento2/pull/3128.diff","patch_url":"https://github.com/magento/magento2/pull/3128.patch","issue_url":"https://api.github.com/repos/magento/magento2/issues/3128","number":3128,"state":"closed","locked":false,"title":"FQCN do not start with a backslash","user":{"login":"ktomk","id":352517,"avatar_url":"https://avatars.githubusercontent.com/u/352517?v=3","gravatar_id":"","url":"https://api.github.com/users/ktomk","html_url":"https://github.com/ktomk","followers_url":"https://api.github.com/users/ktomk/followers","following_url":"https://api.github.com/users/ktomk/following{/other_user}","gists_url":"https://api.github.com/users/ktomk/gists{/gist_id}","starred_url":"https://api.github.com/users/ktomk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktomk/subscriptions","organizations_url":"https://api.github.com/users/ktomk/orgs","repos_url":"https://api.github.com/users/ktomk/repos","events_url":"https://api.github.com/users/ktomk/events{/privacy}","received_events_url":"https://api.github.com/users/ktomk/received_events","type":"User","site_admin":false},"body":"there must have been a misconception by the developer who wrote that\r\n::_getFullyQualifiedClassName() method to use it in code generation.\r\n\r\nthe method has been corrected, usages have been corrected and the auto-\r\nload related ClassLoaderWrapper is giving error and throws a\r\nRuntimeException if a classname (as it must be FQCN in PHP autoloading)\r\nis invalid.\r\n\r\nThis is especially important as there has been a bug back in very early re-\r\nvisions of PHP 5.3 where PHP itself prefixed with backslash (seems to be\r\na somewhat common mistake).\r\n\r\nAs much as the mistake might be common in certain circles, the more it is\r\nimportant to clearly communicate at all points that passing a class-name\r\nthat is a FQCN must not start with a backslash to educate users to fully\r\ngrasp the concept of the FQCN.\r\n\r\nAdditional:\r\n\r\n- Superfluous double-the-same-function-call removed.\r\n\r\n- The Wrapper is a Decorator, Docblock speaks common language now.\r\n\r\n- Only if the file was not found previously, the entry in the classmap\r\n  will be NULLed. Otherwise an existing correct entry might be over-\r\n  written.","created_at":"2016-01-25T23:00:19Z","updated_at":"2016-02-26T20:18:39Z","closed_at":"2016-02-26T20:18:39Z","merged_at":null,"merge_commit_sha":"513888a281bedb495beb70f778a673af501ac746","assignee":{"login":"dsikkema","id":10222232,"avatar_url":"https://avatars.githubusercontent.com/u/10222232?v=3","gravatar_id":"","url":"https://api.github.com/users/dsikkema","html_url":"https://github.com/dsikkema","followers_url":"https://api.github.com/users/dsikkema/followers","following_url":"https://api.github.com/users/dsikkema/following{/other_user}","gists_url":"https://api.github.com/users/dsikkema/gists{/gist_id}","starred_url":"https://api.github.com/users/dsikkema/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsikkema/subscriptions","organizations_url":"https://api.github.com/users/dsikkema/orgs","repos_url":"https://api.github.com/users/dsikkema/repos","events_url":"https://api.github.com/users/dsikkema/events{/privacy}","received_events_url":"https://api.github.com/users/dsikkema/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/magento/magento2/pulls/3128/commits","review_comments_url":"https://api.github.com/repos/magento/magento2/pulls/3128/comments","review_comment_url":"https://api.github.com/repos/magento/magento2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/magento/magento2/issues/3128/comments","statuses_url":"https://api.github.com/repos/magento/magento2/statuses/1df3c2b6e30c5659661a7bc57a4c8e0ec8078e7c","head":{"label":"ktomk:patch/fqcn-prefix-inversion","ref":"patch/fqcn-prefix-inversion","sha":"1df3c2b6e30c5659661a7bc57a4c8e0ec8078e7c","user":{"login":"ktomk","id":352517,"avatar_url":"https://avatars.githubusercontent.com/u/352517?v=3","gravatar_id":"","url":"https://api.github.com/users/ktomk","html_url":"https://github.com/ktomk","followers_url":"https://api.github.com/users/ktomk/followers","following_url":"https://api.github.com/users/ktomk/following{/other_user}","gists_url":"https://api.github.com/users/ktomk/gists{/gist_id}","starred_url":"https://api.github.com/users/ktomk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktomk/subscriptions","organizations_url":"https://api.github.com/users/ktomk/orgs","repos_url":"https://api.github.com/users/ktomk/repos","events_url":"https://api.github.com/users/ktomk/events{/privacy}","received_events_url":"https://api.github.com/users/ktomk/received_events","type":"User","site_admin":false},"repo":{"id":49517938,"name":"magento2","full_name":"ktomk/magento2","owner":{"login":"ktomk","id":352517,"avatar_url":"https://avatars.githubusercontent.com/u/352517?v=3","gravatar_id":"","url":"https://api.github.com/users/ktomk","html_url":"https://github.com/ktomk","followers_url":"https://api.github.com/users/ktomk/followers","following_url":"https://api.github.com/users/ktomk/following{/other_user}","gists_url":"https://api.github.com/users/ktomk/gists{/gist_id}","starred_url":"https://api.github.com/users/ktomk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktomk/subscriptions","organizations_url":"https://api.github.com/users/ktomk/orgs","repos_url":"https://api.github.com/users/ktomk/repos","events_url":"https://api.github.com/users/ktomk/events{/privacy}","received_events_url":"https://api.github.com/users/ktomk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ktomk/magento2","description":"All Submissions you make to Magento Inc. (“Magento\") through GitHub are subject to the following terms and conditions: (1) You grant Magento a perpetual, worldwide, non-exclusive, no charge, royalty free, irrevocable license under your applicable copyrights and patents to reproduce, prepare derivative works of, display, publically perform, sublicense and distribute any feedback, ideas, code, or other information (“Submission\") you submit through GitHub. (2) Your Submission is an original work of authorship and you are the owner or are legally entitled to grant the license stated above. (3) You agree to the Contributor License Agreement found here:  https://github.com/magento/magento2/blob/master/CONTRIBUTOR_LICENSE_AGREEMENT.html","fork":true,"url":"https://api.github.com/repos/ktomk/magento2","forks_url":"https://api.github.com/repos/ktomk/magento2/forks","keys_url":"https://api.github.com/repos/ktomk/magento2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ktomk/magento2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ktomk/magento2/teams","hooks_url":"https://api.github.com/repos/ktomk/magento2/hooks","issue_events_url":"https://api.github.com/repos/ktomk/magento2/issues/events{/number}","events_url":"https://api.github.com/repos/ktomk/magento2/events","assignees_url":"https://api.github.com/repos/ktomk/magento2/assignees{/user}","branches_url":"https://api.github.com/repos/ktomk/magento2/branches{/branch}","tags_url":"https://api.github.com/repos/ktomk/magento2/tags","blobs_url":"https://api.github.com/repos/ktomk/magento2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ktomk/magento2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ktomk/magento2/git/refs{/sha}","trees_url":"https://api.github.com/repos/ktomk/magento2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ktomk/magento2/statuses/{sha}","languages_url":"https://api.github.com/repos/ktomk/magento2/languages","stargazers_url":"https://api.github.com/repos/ktomk/magento2/stargazers","contributors_url":"https://api.github.com/repos/ktomk/magento2/contributors","subscribers_url":"https://api.github.com/repos/ktomk/magento2/subscribers","subscription_url":"https://api.github.com/repos/ktomk/magento2/subscription","commits_url":"https://api.github.com/repos/ktomk/magento2/commits{/sha}","git_commits_url":"https://api.github.com/repos/ktomk/magento2/git/commits{/sha}","comments_url":"https://api.github.com/repos/ktomk/magento2/comments{/number}","issue_comment_url":"https://api.github.com/repos/ktomk/magento2/issues/comments{/number}","contents_url":"https://api.github.com/repos/ktomk/magento2/contents/{+path}","compare_url":"https://api.github.com/repos/ktomk/magento2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ktomk/magento2/merges","archive_url":"https://api.github.com/repos/ktomk/magento2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ktomk/magento2/downloads","issues_url":"https://api.github.com/repos/ktomk/magento2/issues{/number}","pulls_url":"https://api.github.com/repos/ktomk/magento2/pulls{/number}","milestones_url":"https://api.github.com/repos/ktomk/magento2/milestones{/number}","notifications_url":"https://api.github.com/repos/ktomk/magento2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ktomk/magento2/labels{/name}","releases_url":"https://api.github.com/repos/ktomk/magento2/releases{/id}","deployments_url":"https://api.github.com/repos/ktomk/magento2/deployments","created_at":"2016-01-12T17:46:23Z","updated_at":"2016-01-12T17:47:07Z","pushed_at":"2016-02-22T22:17:50Z","git_url":"git://github.com/ktomk/magento2.git","ssh_url":"git@github.com:ktomk/magento2.git","clone_url":"https://github.com/ktomk/magento2.git","svn_url":"https://github.com/ktomk/magento2","homepage":"http://www.magento.com","size":252330,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"magento:develop","ref":"develop","sha":"e7a0e89a8bf55561a8879f086d645435845a629e","user":{"login":"magento","id":168457,"avatar_url":"https://avatars.githubusercontent.com/u/168457?v=3","gravatar_id":"","url":"https://api.github.com/users/magento","html_url":"https://github.com/magento","followers_url":"https://api.github.com/users/magento/followers","following_url":"https://api.github.com/users/magento/following{/other_user}","gists_url":"https://api.github.com/users/magento/gists{/gist_id}","starred_url":"https://api.github.com/users/magento/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento/subscriptions","organizations_url":"https://api.github.com/users/magento/orgs","repos_url":"https://api.github.com/users/magento/repos","events_url":"https://api.github.com/users/magento/events{/privacy}","received_events_url":"https://api.github.com/users/magento/received_events","type":"Organization","site_admin":false},"repo":{"id":2884111,"name":"magento2","full_name":"magento/magento2","owner":{"login":"magento","id":168457,"avatar_url":"https://avatars.githubusercontent.com/u/168457?v=3","gravatar_id":"","url":"https://api.github.com/users/magento","html_url":"https://github.com/magento","followers_url":"https://api.github.com/users/magento/followers","following_url":"https://api.github.com/users/magento/following{/other_user}","gists_url":"https://api.github.com/users/magento/gists{/gist_id}","starred_url":"https://api.github.com/users/magento/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magento/subscriptions","organizations_url":"https://api.github.com/users/magento/orgs","repos_url":"https://api.github.com/users/magento/repos","events_url":"https://api.github.com/users/magento/events{/privacy}","received_events_url":"https://api.github.com/users/magento/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/magento/magento2","description":"All Submissions you make to Magento Inc. (“Magento\") through GitHub are subject to the following terms and conditions: (1) You grant Magento a perpetual, worldwide, non-exclusive, no charge, royalty free, irrevocable license under your applicable copyrights and patents to reproduce, prepare derivative works of, display, publically perform, sublicense and distribute any feedback, ideas, code, or other information (“Submission\") you submit through GitHub. (2) Your Submission is an original work of authorship and you are the owner or are legally entitled to grant the license stated above. (3) You agree to the Contributor License Agreement found here:  https://github.com/magento/magento2/blob/master/CONTRIBUTOR_LICENSE_AGREEMENT.html","fork":false,"url":"https://api.github.com/repos/magento/magento2","forks_url":"https://api.github.com/repos/magento/magento2/forks","keys_url":"https://api.github.com/repos/magento/magento2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/magento/magento2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/magento/magento2/teams","hooks_url":"https://api.github.com/repos/magento/magento2/hooks","issue_events_url":"https://api.github.com/repos/magento/magento2/issues/events{/number}","events_url":"https://api.github.com/repos/magento/magento2/events","assignees_url":"https://api.github.com/repos/magento/magento2/assignees{/user}","branches_url":"https://api.github.com/repos/magento/magento2/branches{/branch}","tags_url":"https://api.github.com/repos/magento/magento2/tags","blobs_url":"https://api.github.com/repos/magento/magento2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/magento/magento2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/magento/magento2/git/refs{/sha}","trees_url":"https://api.github.com/repos/magento/magento2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/magento/magento2/statuses/{sha}","languages_url":"https://api.github.com/repos/magento/magento2/languages","stargazers_url":"https://api.github.com/repos/magento/magento2/stargazers","contributors_url":"https://api.github.com/repos/magento/magento2/contributors","subscribers_url":"https://api.github.com/repos/magento/magento2/subscribers","subscription_url":"https://api.github.com/repos/magento/magento2/subscription","commits_url":"https://api.github.com/repos/magento/magento2/commits{/sha}","git_commits_url":"https://api.github.com/repos/magento/magento2/git/commits{/sha}","comments_url":"https://api.github.com/repos/magento/magento2/comments{/number}","issue_comment_url":"https://api.github.com/repos/magento/magento2/issues/comments{/number}","contents_url":"https://api.github.com/repos/magento/magento2/contents/{+path}","compare_url":"https://api.github.com/repos/magento/magento2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/magento/magento2/merges","archive_url":"https://api.github.com/repos/magento/magento2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/magento/magento2/downloads","issues_url":"https://api.github.com/repos/magento/magento2/issues{/number}","pulls_url":"https://api.github.com/repos/magento/magento2/pulls{/number}","milestones_url":"https://api.github.com/repos/magento/magento2/milestones{/number}","notifications_url":"https://api.github.com/repos/magento/magento2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/magento/magento2/labels{/name}","releases_url":"https://api.github.com/repos/magento/magento2/releases{/id}","deployments_url":"https://api.github.com/repos/magento/magento2/deployments","created_at":"2011-11-30T15:30:13Z","updated_at":"2016-02-26T18:02:56Z","pushed_at":"2016-02-26T17:18:27Z","git_url":"git://github.com/magento/magento2.git","ssh_url":"git@github.com:magento/magento2.git","clone_url":"https://github.com/magento/magento2.git","svn_url":"https://github.com/magento/magento2","homepage":"http://www.magento.com","size":310181,"stargazers_count":3172,"watchers_count":3172,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2021,"mirror_url":null,"open_issues_count":1114,"forks":2021,"open_issues":1114,"watchers":3172,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/magento/magento2/pulls/3128"},"html":{"href":"https://github.com/magento/magento2/pull/3128"},"issue":{"href":"https://api.github.com/repos/magento/magento2/issues/3128"},"comments":{"href":"https://api.github.com/repos/magento/magento2/issues/3128/comments"},"review_comments":{"href":"https://api.github.com/repos/magento/magento2/pulls/3128/comments"},"review_comment":{"href":"https://api.github.com/repos/magento/magento2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/magento/magento2/pulls/3128/commits"},"statuses":{"href":"https://api.github.com/repos/magento/magento2/statuses/1df3c2b6e30c5659661a7bc57a4c8e0ec8078e7c"}},"merged":false,"mergeable":true,"mergeable_state":"unstable","merged_by":null,"comments":2,"review_comments":0,"commits":1,"additions":29,"deletions":13,"changed_files":4}}