Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124508 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id DF9151A00B7 for ; Sat, 20 Jul 2024 01:15:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1721438204; bh=MRvzA09YEjOg8gGcoB3jZwGrwxV2QRaYuXFv3B/c2io=; h=In-Reply-To:References:Date:From:To:Subject:From; b=HBTuZoBQR5GAaisYYX8n5znSFg1/tVgSpWnci1almJibsFU08FjHDj3iFSHbcnagz hdCfPR+UyWLXUGzVNmb3thlOld80QJZZ52BmF3maQEF6PSSLXgBK80rGGXG/m25cii WHF5ZczRCSBnfRxfn1gOzbbdDCxld9+JNzOsYntc0DLtnnt6Pp0ik9sd5tncrgGtY9 +yLZK89a9rGn1nDkHKGKwkczyiCDEgRsAgNmLhhD67fD6TjgRS7Pr5A2DI21sElP8p uqH54d5nU4IO4EbqaNdxKVf96xtH/tk4W1uWlSP3scAfZHiwGv5rBoTWMTK4YE8Fh/ vSjTpDeBtc7cQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0B95A180052 for ; Sat, 20 Jul 2024 01:16:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fhigh8-smtp.messagingengine.com (fhigh8-smtp.messagingengine.com [103.168.172.159]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 20 Jul 2024 01:16:42 +0000 (UTC) Received: from compute9.internal (compute9.nyi.internal [10.202.2.228]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 2959F11400DE for ; Fri, 19 Jul 2024 21:15:10 -0400 (EDT) Received: from wimap23 ([10.202.2.83]) by compute9.internal (MEProxy); Fri, 19 Jul 2024 21:15:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-type:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1721438110; x= 1721524510; bh=bYphTxAevLioFqaOwmYLoihURTRQ4IRrpVldB/u/WcE=; b=u Eut5t0I5VnxEtFHaZp4Ft008+4kA/JLIffZ6FvvTXO5Ubkn7HP06ukwjyAHi4DuC FdgAnxRnf33hUDyWkYrF0UA1Id0vkxKe0962c52Oi8JUS1UeC6aYPfX026hlNJ52 P/442ER7tmQm6rIZE0wR+W2EVN/E9hXaU4Hucm9EqEhHbANtUE/6hngqlfArSBVG ST7wmBFJ0QNdO/8Cuues/vd6yDyYZ6b/7kEre/GD7+RQ9CI+U+5i7xQMxNiB4ZQL IqwAFYdfz6V6Tor+QJYHBAzDDXA0FJTdvSG6GQ/eJzFhh1GxdJFwDlVgQ1Y88cON +3kwpuhK6fNbKkurNKrPQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1721438110; x=1721524510; bh=bYphTxAevLioFqaOwmYLoihURTRQ 4IRrpVldB/u/WcE=; b=HxhLFWLGQyPOcsbkOtfql50aC/XQbr5Upbiplu458v1x NpJhFKCoiaw5Evr9z1mNQ9/rSbcVkbIZAhT/gz/qBIa2evsNf5e8kjhcqhFHAAAM ZrpwamzqvvGngybvHirVCaZakRaJAyUpqlCtERvxg+y4FGhln/ezwifeFlWL8PRL dmBiim5NajUt0qbryPFwh/JFZ9UYalZ/3HRAnzIWgvp5lPzk06xeNpQISPFZ33Na Ypx2prV0ZXmnjorxBId4EvmUZO5cFn7TK5UymfNIU5FFdYi5a+KjoJFGYB7sKg2j BCFFvu1je2kfplfOTN/oguOI/6xW+cqrMQqf7gEQwQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrhedvgdeghecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsehttdertderredtnecuhfhrohhmpedfnfgrrhhr hicuifgrrhhfihgvlhgufdcuoehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomh eqnecuggftrfgrthhtvghrnhepveehhedvveejledvvefgleevffdtjeekledvkeegheff gfeivdejhffhledtudetnecuffhomhgrihhnpehphhhprdhnvghtnecuvehluhhsthgvrh fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhgrrhhrhiesghgrrhhfihgv lhguthgvtghhrdgtohhm X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id CA8442920062; Fri, 19 Jul 2024 21:15:09 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-568-g843fbadbe-fm-20240701.003-g843fbadb Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Message-ID: In-Reply-To: <0a6a61cd-f203-4dea-a7f8-97e6b885c52d@app.fastmail.com> References: <0a6a61cd-f203-4dea-a7f8-97e6b885c52d@app.fastmail.com> Date: Fri, 19 Jul 2024 20:14:49 -0500 To: "php internals" Subject: Re: [PHP-DEV] [RFC] Asymmetric Visibility, v2 Content-Type: text/plain From: larry@garfieldtech.com ("Larry Garfield") On Wed, May 29, 2024, at 2:15 PM, Larry Garfield wrote: > As promised, Ilija and I offer this revised version of asymmetric visibility. > > https://wiki.php.net/rfc/asymmetric-visibility-v2 > > It's still essentially the same as last year's version, but with a few > adjustments and changes: > > * readonly properties are now supported in a logical fashion. > * We've brought back the abbreviated form, as public-read, something > else set is the most common use case. > * The section on magic methods has been greatly simplified. The > implementation itself hasn't changed, but the explanation is a lot less > confusing now. > * We've explained how aviz interacts with hooks (they don't, really) > and with interface properties (in the obvious way), which didn't exist > at the time of the last draft. > * We've added a section with examples of how aviz is a concrete > improvement, even in a world with readonly and hooks. > * We've added a section discussing why the prefix-style syntax was > chosen. Hi folks. After a side quest to polish off hooks, we're nearly ready to bring aviz to a vote. We've made one change since we last discussed it: Specifically, Ilija realized that __set's behavior is already inconsistent, so supporting it for aviz properties with invisible set would make it even more inconsistent, not less. For that reason, we've changed the __set behavior such that a non-readonly aviz property will not trigger __set. Further details are in the RFC, but in short, all of the use cases for that behavior now have better alternatives, such as property types, hooks, and aviz itself. So there's really no point to falling back to __set in edge cases. https://wiki.php.net/rfc/asymmetric-visibility-v2#interaction_with_set_and_unset Baring any new developments, we plan to start the vote early next week. Cheers. --Larry Garfield