{"action":"created","issue":{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/4551","labels_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/4551/labels{/name}","comments_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/4551/comments","events_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/4551/events","html_url":"https://github.com/silverstripe/silverstripe-framework/pull/4551","id":103596956,"number":4551,"title":"PHP7 support","user":{"login":"sminnee","id":59968,"avatar_url":"https://avatars.githubusercontent.com/u/59968?v=3","gravatar_id":"","url":"https://api.github.com/users/sminnee","html_url":"https://github.com/sminnee","followers_url":"https://api.github.com/users/sminnee/followers","following_url":"https://api.github.com/users/sminnee/following{/other_user}","gists_url":"https://api.github.com/users/sminnee/gists{/gist_id}","starred_url":"https://api.github.com/users/sminnee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sminnee/subscriptions","organizations_url":"https://api.github.com/users/sminnee/orgs","repos_url":"https://api.github.com/users/sminnee/repos","events_url":"https://api.github.com/users/sminnee/events{/privacy}","received_events_url":"https://api.github.com/users/sminnee/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/milestones/26","html_url":"https://github.com/silverstripe/silverstripe-framework/milestones/4.0-alpha1","labels_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/milestones/26/labels","id":1353035,"number":26,"title":"4.0-alpha1","description":"This milestones tracks issue that *must* be completed before our alpha1 release. Please use it to track only release-blockers, not nice-to-haves.","creator":{"login":"sminnee","id":59968,"avatar_url":"https://avatars.githubusercontent.com/u/59968?v=3","gravatar_id":"","url":"https://api.github.com/users/sminnee","html_url":"https://github.com/sminnee","followers_url":"https://api.github.com/users/sminnee/followers","following_url":"https://api.github.com/users/sminnee/following{/other_user}","gists_url":"https://api.github.com/users/sminnee/gists{/gist_id}","starred_url":"https://api.github.com/users/sminnee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sminnee/subscriptions","organizations_url":"https://api.github.com/users/sminnee/orgs","repos_url":"https://api.github.com/users/sminnee/repos","events_url":"https://api.github.com/users/sminnee/events{/privacy}","received_events_url":"https://api.github.com/users/sminnee/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":0,"state":"open","created_at":"2015-10-13T11:43:39Z","updated_at":"2015-10-15T01:01:53Z","due_on":null,"closed_at":null},"comments":16,"created_at":"2015-08-27T21:18:13Z","updated_at":"2015-12-18T03:37:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/pulls/4551","html_url":"https://github.com/silverstripe/silverstripe-framework/pull/4551","diff_url":"https://github.com/silverstripe/silverstripe-framework/pull/4551.diff","patch_url":"https://github.com/silverstripe/silverstripe-framework/pull/4551.patch"},"body":"Here's a first cut of the PHP7 support. The most substantive change is the renaming of DB classes. I haven't done all the classes yet—just the minimum to make PHP7 build—but the approach that I have taken is:\r\n\r\n * Use namespace `SilverStripe\\Model\\FieldType`. This namespace leaves open the room for branching the ORM (and other sub components) into their own, smaller packages, and keeps the namespace concise.\r\n * Prefix all classnames with `DB`. This is in keeping with `DBField` and had been suggested before. It also suggests a good name for the relevant class in the asset refactoring: `DBFile`. :-)\r\n * Use the Injector to map `Int` to `SilverStripe\\Model\\FieldType\\DBInt`. I think that this is a good first step upon which we can decide to build if we find that a more sophisticated mapping system is needed down the line.\r\n\r\nIf people like this approach I'll apply it to other the other DBField subclasses."},"comment":{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/comments/165661153","html_url":"https://github.com/silverstripe/silverstripe-framework/pull/4551#issuecomment-165661153","issue_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/4551","id":165661153,"user":{"login":"nathanbrauer","id":323945,"avatar_url":"https://avatars.githubusercontent.com/u/323945?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanbrauer","html_url":"https://github.com/nathanbrauer","followers_url":"https://api.github.com/users/nathanbrauer/followers","following_url":"https://api.github.com/users/nathanbrauer/following{/other_user}","gists_url":"https://api.github.com/users/nathanbrauer/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanbrauer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanbrauer/subscriptions","organizations_url":"https://api.github.com/users/nathanbrauer/orgs","repos_url":"https://api.github.com/users/nathanbrauer/repos","events_url":"https://api.github.com/users/nathanbrauer/events{/privacy}","received_events_url":"https://api.github.com/users/nathanbrauer/received_events","type":"User","site_admin":false},"created_at":"2015-12-18T03:37:40Z","updated_at":"2015-12-18T03:37:40Z","body":"Following\n(Sorry for the notification.)"}}