Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:97377 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 35507 invoked from network); 12 Dec 2016 19:25:58 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Dec 2016 19:25:58 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.45 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.45 mail-wm0-f45.google.com Received: from [74.125.82.45] ([74.125.82.45:36398] helo=mail-wm0-f45.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 2D/CE-27518-4C9FE485 for ; Mon, 12 Dec 2016 14:25:58 -0500 Received: by mail-wm0-f45.google.com with SMTP id g23so76692690wme.1 for ; Mon, 12 Dec 2016 11:25:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=user-agent:in-reply-to:references:mime-version :content-transfer-encoding:subject:from:date:to:message-id; bh=pNUg3uaYsDOV5G3UURzoCOtQElFqyYnAuFVb+ZRutyA=; b=mTtQEQqgqOzhXdx9YnmpSt1LSsuhrIu6eYI/2n3qDMWbRZTeBYQpPefJKkx93W6wDq FwXmvuOZH5dEckee0E9xSHcyxXaaSNNVRXjE2fF2EL1hUC91TQtJQ5qntJnX2FgaCsX7 LQMYx5l1oXALWVlXGPbrBfFB9JjfEiIc3YQwvJQ2K27KRPNikjTmI7u0Py5CiuhzjTPP DDOG/XLENrd323H1hL2rD34VNgHhzjzhY0FQgry/FZvQxRZtpD6sRg8pu2WxVXTTs0t/ OnimtmTj1MGeF8MnLymLr3qws5nL/Hmr9/cJQYWtDVuFxuyHVp2DKKZ+rtyl2pRT+glP kInw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:user-agent:in-reply-to:references:mime-version :content-transfer-encoding:subject:from:date:to:message-id; bh=pNUg3uaYsDOV5G3UURzoCOtQElFqyYnAuFVb+ZRutyA=; b=KU7z4CTqCb8yswqEbZ8wCIg3fe2V7gpazJZ0PciFg1zfyE23KnAmmJ+3ZmlO4J9+JB HiU9Qvx+zJ7fB28zf/CzLwMjZQvXv1Hq6AKbsrmz/oKQrG81lF2tNQLY2f+kHNYlhzw3 JcxYkT8cJC4en/8c8bAwqY8EObhdanqSq6flid6skCN3HnwOUArB8AhZEwayYEVB5QUM 7w2aofoihp+JqbVr2kxJyXTfn730oZmtEhVCo2ryzu1ak4laNFRforcUIbdAp4qedp46 1HWZbQ/4eu9SkjKIuWSrxXUJvJiVli0FnEfntNmi+gGMbddClkajugf5BUTg3CdOxlia 53UA== X-Gm-Message-State: AKaTC02YTy8UIWswzKXn4BcfzMAXr15Sx2dEChKMSVhiwyWVuTbIUNivNVGyw+ntPzQn6A== X-Received: by 10.28.185.203 with SMTP id j194mr18229539wmf.73.1481570754003; Mon, 12 Dec 2016 11:25:54 -0800 (PST) Received: from broadband.bt.com ([2a00:23c4:4bd2:6e00:61cf:8c65:db91:382]) by smtp.gmail.com with ESMTPSA id ct7sm58703320wjc.2.2016.12.12.11.25.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Dec 2016 11:25:53 -0800 (PST) User-Agent: K-9 Mail for Android In-Reply-To: References: <1807f949-81d3-f2c4-8706-0fdade3ea51d@garfieldtech.com> <4635ac4b-844a-b023-5ad9-e8524a156404@texthtml.net> <79ea244b-9fe7-5b05-d429-bf5585215542@texthtml.net> <76C07EDB-56B3-46AB-A5C1-92485B32C113@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Date: Mon, 12 Dec 2016 19:25:50 +0000 To: PHP Internals List Message-ID: Subject: Re: [PHP-DEV][RFC][DISCUSSION] - Immutable classes and properties From: rowan.collins@gmail.com (Rowan Collins) On 12 December 2016 14:42:11 GMT+00:00, "Silvio Marijić" wrote: >I understand that, but I think we'll have to meet in the middle. How >would >you handle situation where for one little change you have to manually >recreate not so trivial object with a lot of arguments ? I don't think >that >should be a deal breaker for this RFC but I do agree that we should try >to >find solution to bridge that gap and put that aside in a other rfc. I think there needs to be some "escape hatch" that the author of the class itself can use and control. For instance, a keyword on methods that marks them as a kind of copy constructor, giving them the same abilities as __construct has. Regards, -- Rowan Collins [IMSoP]