Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92277 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 91567 invoked from network); 14 Apr 2016 07:52:17 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Apr 2016 07:52:17 -0000 Authentication-Results: pb1.pair.com header.from=andre.romcke@ez.no; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=andre.romcke@ez.no; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain ez.no designates 157.56.112.125 as permitted sender) X-PHP-List-Original-Sender: andre.romcke@ez.no X-Host-Fingerprint: 157.56.112.125 mail-am1on0125.outbound.protection.outlook.com Received: from [157.56.112.125] ([157.56.112.125:49246] helo=emea01-am1-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6B/32-12455-F2C4F075 for ; Thu, 14 Apr 2016 03:52:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ezno.onmicrosoft.com; s=selector1-ez-no; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xvsKN/uzKG5IFN85AGlcO4Y8zaDaXUWnBUlk58WSpuE=; b=Kk9+uFxz0Eom6DJosMgEe8BgaHxQiDKCXS+ChxI3NM1TsgGg8lZnCNcnXRt6MsIhjqnAXxyJS6s9R+rYqfQdyD+VlJ01P9bOk/nxXncheQ6EiFrV6/9HlULK41TJSbcZpC0vkU+OHuPKHpnB9fRqnULJ6n/K+ERjtn29Ejp9Kus= Received: from VI1PR07MB0863.eurprd07.prod.outlook.com (10.161.108.17) by VI1PR07MB0861.eurprd07.prod.outlook.com (10.161.108.15) with Microsoft SMTP Server (TLS) id 15.1.466.12; Thu, 14 Apr 2016 07:52:11 +0000 Received: from VI1PR07MB0863.eurprd07.prod.outlook.com ([10.161.108.17]) by VI1PR07MB0863.eurprd07.prod.outlook.com ([10.161.108.17]) with mapi id 15.01.0466.018; Thu, 14 Apr 2016 07:52:11 +0000 To: Stanislav Malyshev CC: "internals@lists.php.net" Thread-Topic: [PHP-DEV] Final properties Thread-Index: AQHRjpsLjUTOyIPv1ku7OuTXOI+d1Z97GZwAgAYu9ICAACcngIAAD8mAgAAxcwCAABFKgIADRSMAgAJZQwCAAPwOgIAACYCAgAAOj4CAABfqgIAAmzeA Date: Thu, 14 Apr 2016 07:52:10 +0000 Message-ID: <9D0DDAC8-7FE1-40C7-AAE1-60E35AE4C092@ez.no> References: <5708B197.9020108@php.net> <9C0BBB93-8173-45CF-9636-888B340828FD@ez.no> <57090928.3040905@php.net> <570BD5E6.2000304@fleshgrinder.com> <570DCE46.3020800@gmail.com> <570EA1B7.60903@fleshgrinder.com> <570EA9AF.5060806@gmail.com> <570EB5E5.4050301@fleshgrinder.com> <570EC9F5.50702@gmail.com> In-Reply-To: <570EC9F5.50702@gmail.com> Accept-Language: nb-NO, de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ez.no; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [46.19.18.34] x-ms-office365-filtering-correlation-id: 62520989-86c0-4dd7-05e4-08d36439afb0 x-microsoft-exchange-diagnostics: 1;VI1PR07MB0861;5:SC6FSWBTSQn0OoYGNLUaS37Eg2adNiLPXxKhyy9OIF2pP67vHkSNYGeVNYrnfNAGGHLUXqUNHc8l13cDaQGCKIwtk177jsLOLXfWPYOUdpKz/dywGRW/Lp9IVHcY0RXRrouQfLOHJE8LtK2znE/qzSLyDQfgSEoMZfrISMABxc3D/VYVpvVoNA5tIcDABfcW;24:uc+raeGANChTF8zSNTROp1hVylBWxS2ieg6hvyOvVWLS6igln66LkyRcHCNGk0vFMkdIuop+xbe90TIk9V+5penKa760T+0U4Ue8hEz4nrk=;7:C2AnFk8fMCFcF5WrMaPo60MSYcMcLaEmqWGYc3u2eAggxwSp+alOPjeZMQs8Iaf501hSsaWfgLpej/W/ekjp6xKWlG3kqfUyphocgm+DIBTu6NkRqCIG1iB1Iq30cagk5F6/SQx8r7Gp0syHB33UkX8u9PZCtJPkygcnXKgIKyrV/SyJsob8/OmhAB1FN5oBvtKuRnQwuVuJ8AoJpsV7fMEIObcEuz4i0IRpwIxy3T0= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR07MB0861; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:VI1PR07MB0861;BCL:0;PCL:0;RULEID:;SRVR:VI1PR07MB0861; x-forefront-prvs: 0912297777 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(24454002)(93886004)(4326007)(102836003)(6116002)(3846002)(5002640100001)(81166005)(2900100001)(2950100001)(15975445007)(1220700001)(77096005)(33656002)(66066001)(3660700001)(1096002)(3280700002)(50986999)(54356999)(106116001)(76176999)(19580405001)(19580395003)(586003)(86362001)(74482002)(82746002)(5004730100002)(5008740100001)(110136002)(1411001)(92566002)(36756003)(11100500001)(189998001)(83716003)(10400500002)(87936001)(122556002)(2906002);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR07MB0861;H:VI1PR07MB0863.eurprd07.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-ID: <027FF4E3806E0343A1017C3A73F05EF9@eurprd07.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: ez.no X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2016 07:52:10.9708 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f606c019-4e72-4e2e-8583-51197302e349 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB0861 Subject: Re: [PHP-DEV] Final properties From: andre.romcke@ez.no (=?iso-8859-1?Q?Andr=E9_R=F8mcke?=) > On 14 Apr 2016, at 00:36 , Stanislav Malyshev wrote= : >=20 > With getters/setters, the answer is clear - yes, you can extend it with > setters, but if your invariant relies on immutability, you'd be > violating LSP. With properties, not clear. So in summary preference would be that something like Property Accessors Sy= ntax* is re opened and updated? From user land main motivation to support this and typed properties is to b= e allowed to type hint and make properties readonly to simplify use cases f= or entities and value objects, using properties, and not having to resort t= o magic methods which tends to become slow(er) and messy. For how this is a= rchived, not violating LSP, and making sure the language and internals are = kept as consistent as possible would be high up there as reasoning to pick = approach * https://wiki.php.net/rfc/propertygetsetsyntax-v1.2