Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:91692 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 1172 invoked from network); 16 Mar 2016 16:36:52 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Mar 2016 16:36:52 -0000 Authentication-Results: pb1.pair.com header.from=pjsturgeon@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=pjsturgeon@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.217.169 as permitted sender) X-PHP-List-Original-Sender: pjsturgeon@gmail.com X-Host-Fingerprint: 209.85.217.169 mail-lb0-f169.google.com Received: from [209.85.217.169] ([209.85.217.169:33880] helo=mail-lb0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3E/56-48430-0AB89E65 for ; Wed, 16 Mar 2016 11:36:50 -0500 Received: by mail-lb0-f169.google.com with SMTP id k12so51594888lbb.1 for ; Wed, 16 Mar 2016 09:36:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to; bh=iRi3czMsLKHHHCBP8CLSQX4RN/zqUTufC1VfiIR/fbc=; b=0k28tpJkRT8qce7HqRaQaPLg8c02SdY6ZvwYl9BD+8sdLJLdHA98n9Z6gZLzh/lAWZ 3+1tsJ9Xzs8meMKRr7knmMQgLKxG7YmP9aflbpjjaMYMG+h6huca32jY7+IqaTTOitlG chdrnG8Zs5dkZGEnLfwVnkZe/MVMnjkdMyyA4fR0tJF//FLplbN2EBUGAM0ihJJxVzn6 mpY6y7RbQmVyv6mNCC13+441HtXkjAAy9kQLkdqN9h3ROmXn7hrNTPponHouuNzHBm2m Nj4urmmgtEOJqjQzLeenNsMR78xXSYJ5Lj+QND0auHgOnPIyA4LooUJ2DyixU03ByOMl Uefw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to; bh=iRi3czMsLKHHHCBP8CLSQX4RN/zqUTufC1VfiIR/fbc=; b=I5SNO3S9chWe7KNPHx0rHHbYC+fkNeyeJOlek8jMSFqlQp/CMAsNPG8ywkLQMzJHpl HjbwRY6R3HtgV4hOm50WP/hCR1cry4zoLmRmx64dg23a41YGa7r6R5uLR0Ukpre2Wkx6 5KyLxD/MBF+VHwgsQwjJyiVozM889L0kg9bRLyFqfQuWpWRBd1ngrWNtOW+AGy+cupsu 0vjw9z74O1nsf/pQewYgXm8FiwBu5PtdDnMno3vpdbyBBwdUrrBHR5669pB2b4KmG7u1 tO86WipqEDJfDBtXGnpZ0IMZKyMufHdbn9CyP1JSkMjNFLlMzyK3XZyiSMZBZE6jSP5m d9Jw== X-Gm-Message-State: AD7BkJJDlhbkMa1hCd22lxq5A9bYSMwBffG7UX20mKSeCu44jClDmP9cdnuHLg77c4cttAZ/edT/3PNNU6EYtA== MIME-Version: 1.0 X-Received: by 10.112.13.8 with SMTP id d8mr1846025lbc.110.1458146205922; Wed, 16 Mar 2016 09:36:45 -0700 (PDT) Received: by 10.114.78.71 with HTTP; Wed, 16 Mar 2016 09:36:45 -0700 (PDT) Date: Wed, 16 Mar 2016 12:36:45 -0400 Message-ID: To: "internals@lists.php.net" Content-Type: text/plain; charset=UTF-8 Subject: [RFC Discussion] Typed Properties From: pjsturgeon@gmail.com (Phil Sturgeon) Hello everyone, I have completed the draft for an RFC, to add Typed Properties. The patch has been written by the one and only Joe Watkins. https://wiki.php.net/rfc/typed-properties I would really appreciate constructive feedback on this RFC, with a few areas especially: 1. How scared are we that integers can be expanded to floats on runtime? 2. This whole temporary nullability situation, where unset properties will error on attempted usage if not set. Should they instead error after the constructor has been called if they are still not holding a value? 3. Weak vs Strict. Right now this is entirely strict, with no declare() to change mode. Reasons for this vary, from various sources, but include "Not sure how to implement it" and "Well people should not be using properties as part of their public API". Help on 3 would be appreciated. Also let's please avoid "PHP IS TURNING INTO JAVA" and the other rather common rhetoric. Strict Type Hinting might have been seen as a battleground for fans of strict and fans of weak to fight through a keyboard, but this RFC will not be the repeat. We'll have a nice, orderly, constructive conversation about this RFC, and improve the patch as you all provide feedback. Let me know what you think folks!