{"action":"created","issue":{"url":"https://api.github.com/repos/Roave/StrictPhp/issues/7","labels_url":"https://api.github.com/repos/Roave/StrictPhp/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/Roave/StrictPhp/issues/7/comments","events_url":"https://api.github.com/repos/Roave/StrictPhp/issues/7/events","html_url":"https://github.com/Roave/StrictPhp/issues/7","id":88255925,"number":7,"title":"Consider dropping PHP 5 support","user":{"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},"labels":[{"url":"https://api.github.com/repos/Roave/StrictPhp/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Roave/StrictPhp/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2015-06-14T22:05:01Z","updated_at":"2015-06-29T11:05:02Z","closed_at":null,"body":"PHP 7 has `declare(strict_types=true)`, which is awesome, tbh.\r\n\r\nWe'd also be able to throw more specific exceptions."},"comment":{"url":"https://api.github.com/repos/Roave/StrictPhp/issues/comments/116609379","html_url":"https://github.com/Roave/StrictPhp/issues/7#issuecomment-116609379","issue_url":"https://api.github.com/repos/Roave/StrictPhp/issues/7","id":116609379,"user":{"login":"GeeH","id":613376,"avatar_url":"https://avatars.githubusercontent.com/u/613376?v=3","gravatar_id":"","url":"https://api.github.com/users/GeeH","html_url":"https://github.com/GeeH","followers_url":"https://api.github.com/users/GeeH/followers","following_url":"https://api.github.com/users/GeeH/following{/other_user}","gists_url":"https://api.github.com/users/GeeH/gists{/gist_id}","starred_url":"https://api.github.com/users/GeeH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeeH/subscriptions","organizations_url":"https://api.github.com/users/GeeH/orgs","repos_url":"https://api.github.com/users/GeeH/repos","events_url":"https://api.github.com/users/GeeH/events{/privacy}","received_events_url":"https://api.github.com/users/GeeH/received_events","type":"User","site_admin":false},"created_at":"2015-06-29T11:05:02Z","updated_at":"2015-06-29T11:05:02Z","body":"@ocramius I get that, but here is the scenario\r\n\r\nMary is using PHP 7 and has public properties. She's sick of writing 100s of shitty boilerplate tests that check what happens when properties are of given types, and decides to bite the bullet and refactor her application so that she has some type protection in the properties. \r\n\r\n\"OH! Look!\" she exclaims, \"I can either refactor my public properties to private, wrap them in type-hinted accessor methods and then use my unit tests to confirm I've caught all the places I need to change a property access to a method call... OR I can install this crazy voodoo reflection based cocktail of insanity that I will only be able to use in my tests and will give me no protection at run-time\".\r\n\r\nMary decides to write the type hinted accessor methods. "}}