{"action":"opened","number":656,"pull_request":{"url":"https://api.github.com/repos/avalanche123/Imagine/pulls/656","id":211662364,"node_id":"MDExOlB1bGxSZXF1ZXN0MjExNjYyMzY0","html_url":"https://github.com/avalanche123/Imagine/pull/656","diff_url":"https://github.com/avalanche123/Imagine/pull/656.diff","patch_url":"https://github.com/avalanche123/Imagine/pull/656.patch","issue_url":"https://api.github.com/repos/avalanche123/Imagine/issues/656","number":656,"state":"open","locked":false,"title":"Fix and normalize PHPDoc","user":{"login":"mlocati","id":928116,"node_id":"MDQ6VXNlcjkyODExNg==","avatar_url":"https://avatars3.githubusercontent.com/u/928116?v=4","gravatar_id":"","url":"https://api.github.com/users/mlocati","html_url":"https://github.com/mlocati","followers_url":"https://api.github.com/users/mlocati/followers","following_url":"https://api.github.com/users/mlocati/following{/other_user}","gists_url":"https://api.github.com/users/mlocati/gists{/gist_id}","starred_url":"https://api.github.com/users/mlocati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlocati/subscriptions","organizations_url":"https://api.github.com/users/mlocati/orgs","repos_url":"https://api.github.com/users/mlocati/repos","events_url":"https://api.github.com/users/mlocati/events{/privacy}","received_events_url":"https://api.github.com/users/mlocati/received_events","type":"User","site_admin":false},"body":"I reviewed all the phpdocs of Imagine, and here's a list of edits:\r\n\r\n- I added phpdoc to (almost) everything in the `src` directory\r\n- I fixed [one wrong phpdoc](https://github.com/mlocati/Imagine/commit/0d22dc3b50ce4752b596bf673bae7b1a7ee7bb2c#diff-32a08e6820d097c40f318189f1b3ac96L47)\r\n- I used `$this` in `@return` statements when a method always returns the same instance of the called class (so it's clear that these are not immutable methods for example), and `@return static` to state that a method returns a new instance.\r\n- I removed the `/** Internal. **/` comments for private methods: they are private, it's obvious that they are internal.\r\n- I used fully-qualified class names.  \r\n  Why?\r\n  - even if IDEs can understand `use` statements, phpdoc are useful for humans too: when I visually take a look at the code, I don't want to jump at the top of a file to see if `RGB` is a palette or a color\r\n  - it's useful to see the FQ names so that I can copy-and-paste the class names in my code\r\n  - we avoid `use` statements for classes that are only used in phpdoc and not in actual PHP code","created_at":"2018-08-29T08:02:51Z","updated_at":"2018-08-29T08:02:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/avalanche123/Imagine/pulls/656/commits","review_comments_url":"https://api.github.com/repos/avalanche123/Imagine/pulls/656/comments","review_comment_url":"https://api.github.com/repos/avalanche123/Imagine/pulls/comments{/number}","comments_url":"https://api.github.com/repos/avalanche123/Imagine/issues/656/comments","statuses_url":"https://api.github.com/repos/avalanche123/Imagine/statuses/0d22dc3b50ce4752b596bf673bae7b1a7ee7bb2c","head":{"label":"mlocati:phpdoc","ref":"phpdoc","sha":"0d22dc3b50ce4752b596bf673bae7b1a7ee7bb2c","user":{"login":"mlocati","id":928116,"node_id":"MDQ6VXNlcjkyODExNg==","avatar_url":"https://avatars3.githubusercontent.com/u/928116?v=4","gravatar_id":"","url":"https://api.github.com/users/mlocati","html_url":"https://github.com/mlocati","followers_url":"https://api.github.com/users/mlocati/followers","following_url":"https://api.github.com/users/mlocati/following{/other_user}","gists_url":"https://api.github.com/users/mlocati/gists{/gist_id}","starred_url":"https://api.github.com/users/mlocati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlocati/subscriptions","organizations_url":"https://api.github.com/users/mlocati/orgs","repos_url":"https://api.github.com/users/mlocati/repos","events_url":"https://api.github.com/users/mlocati/events{/privacy}","received_events_url":"https://api.github.com/users/mlocati/received_events","type":"User","site_admin":false},"repo":{"id":59220420,"node_id":"MDEwOlJlcG9zaXRvcnk1OTIyMDQyMA==","name":"Imagine","full_name":"mlocati/Imagine","owner":{"login":"mlocati","id":928116,"node_id":"MDQ6VXNlcjkyODExNg==","avatar_url":"https://avatars3.githubusercontent.com/u/928116?v=4","gravatar_id":"","url":"https://api.github.com/users/mlocati","html_url":"https://github.com/mlocati","followers_url":"https://api.github.com/users/mlocati/followers","following_url":"https://api.github.com/users/mlocati/following{/other_user}","gists_url":"https://api.github.com/users/mlocati/gists{/gist_id}","starred_url":"https://api.github.com/users/mlocati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlocati/subscriptions","organizations_url":"https://api.github.com/users/mlocati/orgs","repos_url":"https://api.github.com/users/mlocati/repos","events_url":"https://api.github.com/users/mlocati/events{/privacy}","received_events_url":"https://api.github.com/users/mlocati/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mlocati/Imagine","description":"PHP 5.3 Object Oriented image manipulation library","fork":true,"url":"https://api.github.com/repos/mlocati/Imagine","forks_url":"https://api.github.com/repos/mlocati/Imagine/forks","keys_url":"https://api.github.com/repos/mlocati/Imagine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mlocati/Imagine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mlocati/Imagine/teams","hooks_url":"https://api.github.com/repos/mlocati/Imagine/hooks","issue_events_url":"https://api.github.com/repos/mlocati/Imagine/issues/events{/number}","events_url":"https://api.github.com/repos/mlocati/Imagine/events","assignees_url":"https://api.github.com/repos/mlocati/Imagine/assignees{/user}","branches_url":"https://api.github.com/repos/mlocati/Imagine/branches{/branch}","tags_url":"https://api.github.com/repos/mlocati/Imagine/tags","blobs_url":"https://api.github.com/repos/mlocati/Imagine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mlocati/Imagine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mlocati/Imagine/git/refs{/sha}","trees_url":"https://api.github.com/repos/mlocati/Imagine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mlocati/Imagine/statuses/{sha}","languages_url":"https://api.github.com/repos/mlocati/Imagine/languages","stargazers_url":"https://api.github.com/repos/mlocati/Imagine/stargazers","contributors_url":"https://api.github.com/repos/mlocati/Imagine/contributors","subscribers_url":"https://api.github.com/repos/mlocati/Imagine/subscribers","subscription_url":"https://api.github.com/repos/mlocati/Imagine/subscription","commits_url":"https://api.github.com/repos/mlocati/Imagine/commits{/sha}","git_commits_url":"https://api.github.com/repos/mlocati/Imagine/git/commits{/sha}","comments_url":"https://api.github.com/repos/mlocati/Imagine/comments{/number}","issue_comment_url":"https://api.github.com/repos/mlocati/Imagine/issues/comments{/number}","contents_url":"https://api.github.com/repos/mlocati/Imagine/contents/{+path}","compare_url":"https://api.github.com/repos/mlocati/Imagine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mlocati/Imagine/merges","archive_url":"https://api.github.com/repos/mlocati/Imagine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mlocati/Imagine/downloads","issues_url":"https://api.github.com/repos/mlocati/Imagine/issues{/number}","pulls_url":"https://api.github.com/repos/mlocati/Imagine/pulls{/number}","milestones_url":"https://api.github.com/repos/mlocati/Imagine/milestones{/number}","notifications_url":"https://api.github.com/repos/mlocati/Imagine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mlocati/Imagine/labels{/name}","releases_url":"https://api.github.com/repos/mlocati/Imagine/releases{/id}","deployments_url":"https://api.github.com/repos/mlocati/Imagine/deployments","created_at":"2016-05-19T15:43:54Z","updated_at":"2018-08-29T07:30:47Z","pushed_at":"2018-08-29T07:45:41Z","git_url":"git://github.com/mlocati/Imagine.git","ssh_url":"git@github.com:mlocati/Imagine.git","clone_url":"https://github.com/mlocati/Imagine.git","svn_url":"https://github.com/mlocati/Imagine","homepage":"imagine.readthedocs.org","size":13280,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"avalanche123:develop","ref":"develop","sha":"843cdce820dbf8c10801a9deade2b44c1268c63f","user":{"login":"avalanche123","id":83289,"node_id":"MDQ6VXNlcjgzMjg5","avatar_url":"https://avatars0.githubusercontent.com/u/83289?v=4","gravatar_id":"","url":"https://api.github.com/users/avalanche123","html_url":"https://github.com/avalanche123","followers_url":"https://api.github.com/users/avalanche123/followers","following_url":"https://api.github.com/users/avalanche123/following{/other_user}","gists_url":"https://api.github.com/users/avalanche123/gists{/gist_id}","starred_url":"https://api.github.com/users/avalanche123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/avalanche123/subscriptions","organizations_url":"https://api.github.com/users/avalanche123/orgs","repos_url":"https://api.github.com/users/avalanche123/repos","events_url":"https://api.github.com/users/avalanche123/events{/privacy}","received_events_url":"https://api.github.com/users/avalanche123/received_events","type":"User","site_admin":false},"repo":{"id":677602,"node_id":"MDEwOlJlcG9zaXRvcnk2Nzc2MDI=","name":"Imagine","full_name":"avalanche123/Imagine","owner":{"login":"avalanche123","id":83289,"node_id":"MDQ6VXNlcjgzMjg5","avatar_url":"https://avatars0.githubusercontent.com/u/83289?v=4","gravatar_id":"","url":"https://api.github.com/users/avalanche123","html_url":"https://github.com/avalanche123","followers_url":"https://api.github.com/users/avalanche123/followers","following_url":"https://api.github.com/users/avalanche123/following{/other_user}","gists_url":"https://api.github.com/users/avalanche123/gists{/gist_id}","starred_url":"https://api.github.com/users/avalanche123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/avalanche123/subscriptions","organizations_url":"https://api.github.com/users/avalanche123/orgs","repos_url":"https://api.github.com/users/avalanche123/repos","events_url":"https://api.github.com/users/avalanche123/events{/privacy}","received_events_url":"https://api.github.com/users/avalanche123/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/avalanche123/Imagine","description":"PHP 5.3 Object Oriented image manipulation library","fork":false,"url":"https://api.github.com/repos/avalanche123/Imagine","forks_url":"https://api.github.com/repos/avalanche123/Imagine/forks","keys_url":"https://api.github.com/repos/avalanche123/Imagine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/avalanche123/Imagine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/avalanche123/Imagine/teams","hooks_url":"https://api.github.com/repos/avalanche123/Imagine/hooks","issue_events_url":"https://api.github.com/repos/avalanche123/Imagine/issues/events{/number}","events_url":"https://api.github.com/repos/avalanche123/Imagine/events","assignees_url":"https://api.github.com/repos/avalanche123/Imagine/assignees{/user}","branches_url":"https://api.github.com/repos/avalanche123/Imagine/branches{/branch}","tags_url":"https://api.github.com/repos/avalanche123/Imagine/tags","blobs_url":"https://api.github.com/repos/avalanche123/Imagine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/avalanche123/Imagine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/avalanche123/Imagine/git/refs{/sha}","trees_url":"https://api.github.com/repos/avalanche123/Imagine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/avalanche123/Imagine/statuses/{sha}","languages_url":"https://api.github.com/repos/avalanche123/Imagine/languages","stargazers_url":"https://api.github.com/repos/avalanche123/Imagine/stargazers","contributors_url":"https://api.github.com/repos/avalanche123/Imagine/contributors","subscribers_url":"https://api.github.com/repos/avalanche123/Imagine/subscribers","subscription_url":"https://api.github.com/repos/avalanche123/Imagine/subscription","commits_url":"https://api.github.com/repos/avalanche123/Imagine/commits{/sha}","git_commits_url":"https://api.github.com/repos/avalanche123/Imagine/git/commits{/sha}","comments_url":"https://api.github.com/repos/avalanche123/Imagine/comments{/number}","issue_comment_url":"https://api.github.com/repos/avalanche123/Imagine/issues/comments{/number}","contents_url":"https://api.github.com/repos/avalanche123/Imagine/contents/{+path}","compare_url":"https://api.github.com/repos/avalanche123/Imagine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/avalanche123/Imagine/merges","archive_url":"https://api.github.com/repos/avalanche123/Imagine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/avalanche123/Imagine/downloads","issues_url":"https://api.github.com/repos/avalanche123/Imagine/issues{/number}","pulls_url":"https://api.github.com/repos/avalanche123/Imagine/pulls{/number}","milestones_url":"https://api.github.com/repos/avalanche123/Imagine/milestones{/number}","notifications_url":"https://api.github.com/repos/avalanche123/Imagine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/avalanche123/Imagine/labels{/name}","releases_url":"https://api.github.com/repos/avalanche123/Imagine/releases{/id}","deployments_url":"https://api.github.com/repos/avalanche123/Imagine/deployments","created_at":"2010-05-20T18:39:42Z","updated_at":"2018-08-29T07:29:35Z","pushed_at":"2018-08-29T07:29:32Z","git_url":"git://github.com/avalanche123/Imagine.git","ssh_url":"git@github.com:avalanche123/Imagine.git","clone_url":"https://github.com/avalanche123/Imagine.git","svn_url":"https://github.com/avalanche123/Imagine","homepage":"imagine.readthedocs.org","size":13287,"stargazers_count":3396,"watchers_count":3396,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":500,"mirror_url":null,"archived":false,"open_issues_count":67,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":500,"open_issues":67,"watchers":3396,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/avalanche123/Imagine/pulls/656"},"html":{"href":"https://github.com/avalanche123/Imagine/pull/656"},"issue":{"href":"https://api.github.com/repos/avalanche123/Imagine/issues/656"},"comments":{"href":"https://api.github.com/repos/avalanche123/Imagine/issues/656/comments"},"review_comments":{"href":"https://api.github.com/repos/avalanche123/Imagine/pulls/656/comments"},"review_comment":{"href":"https://api.github.com/repos/avalanche123/Imagine/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/avalanche123/Imagine/pulls/656/commits"},"statuses":{"href":"https://api.github.com/repos/avalanche123/Imagine/statuses/0d22dc3b50ce4752b596bf673bae7b1a7ee7bb2c"}},"author_association":"COLLABORATOR","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":1402,"deletions":485,"changed_files":82}}
{"actor":{"display_login":"mlocati"}}