Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118363 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 68899 invoked from network); 7 Aug 2022 08:53:42 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 7 Aug 2022 08:53:42 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3D627180538 for ; Sun, 7 Aug 2022 03:54:43 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 7 Aug 2022 03:54:39 -0700 (PDT) Received: by mail-io1-f45.google.com with SMTP id v185so5037190ioe.11 for ; Sun, 07 Aug 2022 03:54:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=m00+uGytrE/uYHh6nfxeqfZ+QK+HHoml95INvXO6Ujk=; b=p72tsb+6Wzjo6gtNKxyu9m/CfRZ1Nn1oE/aYyydnZGuXUyyW+iqwvv/UTHY4MaTPz8 XpaCUeFUKydHwvqIOmu4SM8uCEz0HHk/ptl8lSsr0Cr1uRtEBNLuh5oxCrIlicDMKrzH OcWNdBSJcW2c1GKqpDCt0G1nHWK3cijvLImlFQ9FHp+zmMzyaljJEIR5bD9GyuxdMvCr 8IdVLD9fglFqcBTm47LRDjmxw6vznhotHPCV261Ctqq+nGo2dUTeu0BEn+bb1SBVt2hp +qP8ntC2j1bwszSDYeOXkfBRt2sjhXa++mP24eHW09yX5I3Oe0TY6zlbAHPbZC7Soi0K 55hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=m00+uGytrE/uYHh6nfxeqfZ+QK+HHoml95INvXO6Ujk=; b=gu8sgNop0jgYICTgJFr3Mdi+WdcSibTF71FJWChsuyJL+3gtSThljVgq13IHRwfliu kTvhnSCxFP4rr/zhtiiVEUSFLqP83MrZAcGxR7Q0jaQsxcXdNfVgPcoPOXtM8ImVD0mz X3KbAOz9+iM90Q6OCv+XRWyrmhASu2+Z+UX3hU89D87PwljCi/8+BiM+31yHDYLHYaM3 uAfS1KF2KSX8V598WOUueiCNgsDOG3anURCeyqQnkfY+Q/A0if2Nl2+j23nc3T63pMWc 1VXIjIN9lC6Fcxk+sKU6tDtQ9cFudyq5lEQ1ObA1WGpnFZwggJ3aDd8gkmKStiHpPYq7 uYyg== X-Gm-Message-State: ACgBeo0PeHoauPnS8tberc2M6Nj2W5NiJmHT6E7QkkTdD6SoOoqIbAue PXUIPwRjEWYIx6b6Ft87E5KIIZ2X6Uy2JUrtbq91DSjB X-Google-Smtp-Source: AA6agR42W2E9Y/YShCvIRtrCfUbkW71ZyS64Ob87tscFWKGtcRJ4iCsIgljfoxSmq02pUTR9Nq4MEaJQet891aUGzj8= X-Received: by 2002:a05:6602:1682:b0:65d:f539:e30 with SMTP id s2-20020a056602168200b0065df5390e30mr5754682iow.81.1659869679037; Sun, 07 Aug 2022 03:54:39 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Sun, 7 Aug 2022 12:54:12 +0200 Message-ID: To: Rowan Tommins Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="00000000000097b2c105e5a48651" Subject: Re: [PHP-DEV] [RFC] Asymmetric visibility From: kjarli@gmail.com (Lynn) --00000000000097b2c105e5a48651 Content-Type: text/plain; charset="UTF-8" On Sun, Aug 7, 2022 at 12:34 PM Rowan Tommins wrote: > Can you expand on where you think the ambiguity / implicitness is? As I > understand it, the RFC is proposing exactly three new combined access > levels: > > - "public private(set)" > - "public protected(set)" > - "protected private(set)" > > Although aesthetically it will take a bit of getting used to, it seems to > me pretty clear that the first means "mostly public, but private if you > want to set it", and so on. > > The only thing I can think of that could be described as "implicit" is > that accessing a property by reference is considered a "set" operation, > which I'm not sure how any implementation could avoid. Personally for me it's the syntax. Reading "public private", "public protected", or "protected private" reads really weird `public private(set) static self $property`. In the end it makes sense if you know what it means, otherwise it's probably confusing. I really like this RFC and I feel like this might just be the way to go forward, but I have my doubts about how many more keywords can be realistically added before it becomes a problem. --00000000000097b2c105e5a48651--