Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102635 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 52075 invoked from network); 7 Jul 2018 13:31:02 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Jul 2018 13:31:02 -0000 Authentication-Results: pb1.pair.com header.from=danack@basereality.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=danack@basereality.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain basereality.com from 209.85.160.54 cause and error) X-PHP-List-Original-Sender: danack@basereality.com X-Host-Fingerprint: 209.85.160.54 mail-pl0-f54.google.com Received: from [209.85.160.54] ([209.85.160.54:36390] helo=mail-pl0-f54.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 68/F2-55607-190C04B5 for ; Sat, 07 Jul 2018 09:30:59 -0400 Received: by mail-pl0-f54.google.com with SMTP id a7-v6so4084109plp.3 for ; Sat, 07 Jul 2018 06:30:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=basereality-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=+MkOqFTLZ/8qEyQqI0K+TUvTvDg527SEZxx34zABez8=; b=MTJGx0E5FadEDk9RuqLpL9D7jh5hbLDAyHbpNsz+FvI/cXy7Tiiix32Nh9Mn6fbElN ST3UUmNKNYjCRRQUjj6B3mfYBQaf5fiHtxPSLHjZgKzHT7X1mpmNJi0eJ6WPDaky8fFT wyShEdn5IAHzmI53bWhyePzkgnv5hacHMVH4mg/FGaGkX/tMfPPTD0FBTODruKd+xT9k kom5q5XpufRkU6LydZoqszPq/KoyWKjiES7zI8RnI9ycrzXD6q1xwkMRoobuYQKgbc/8 xIUm0x4CZDWnV4khopksJWNd19+lbUido1+qyxHF9cVTYPeqxs10UPU39elMiY5qn8yp Agdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=+MkOqFTLZ/8qEyQqI0K+TUvTvDg527SEZxx34zABez8=; b=sspEkaW9ilMbCssOQPKxd20C0Tfg+oC7KtpH63Kq9CiRN720NH8s0F4LW4ayGrWpH3 ntcBlUCkegj+BppUIZ+qPjaCPubjVdWD/0Fc8oXYXmTDUaap+IsNfugIt7MWmL1XhOMm PFtfEYXThfWlR5tlRDHWLSDsRq81ENks1qUfpkGG73oQC9geHFbh/hKMjUwbVLgSxC0i glEsHUAJy3x/XQ/+pzWb26KML2HN1Egcr+OON6VZckUjIKrgB4Kcwr1GxFx9c3t2YviS Jy18F4vW4fgc9IW/VS1PGX/2T7selcfVoSSJtSlRCOyENlZSeSj4bYlWvW7s4aK3Cl2K Qc8w== X-Gm-Message-State: APt69E2rB0o4IGS+yG9KbiylvUEGNAwDJGYybBBteYadFMvbn8Q1D7VK d26nZ8jRv1itpv0Z5+N6KsrBSARCRtLfSHIVxmFLNg== X-Google-Smtp-Source: AAOMgpexZEkdaSOsWtUOa15bU8kOr0EnOnTbAT50nC/df+nivdtm7CZMEbPjda4jJRF0vxQxBY1sHfXNbV1mPWj0eyM= X-Received: by 2002:a17:902:e85:: with SMTP id 5-v6mr13889490plx.318.1530970254134; Sat, 07 Jul 2018 06:30:54 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90a:380d:0:0:0:0 with HTTP; Sat, 7 Jul 2018 06:30:53 -0700 (PDT) X-Originating-IP: [86.7.192.139] In-Reply-To: References: Date: Sat, 7 Jul 2018 14:30:53 +0100 Message-ID: To: Dustin Wheeler Cc: PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC] [VOTE] Class Friendship From: danack@basereality.com (Dan Ackroyd) Hi Internals. To explain my vote, I'm voting no for pretty much the same reasons I listed before, http://news.php.net/php.internals/90352 The short version of which is: * 'friendship' is not a good solution for allowing restricted access to some methods. * Restricting access to some methods doesn't appear to me to be a big problem that demands to be solved at the language level with class friendship. Either solving it at a different level, or some other solution at the language level, or _just not solving it at all_, would be a better trade-off to me. If the vote doesn't approve this RFC, for people who think that allowing restricted access to some methods is a still a desired thing, there has been discussion of package level modifiers including things like visibility and type strictness. To me, a package level solution would seem to be able to avoid the downsides of 'class friendship' and give a better fitting tool to solve that problem. cheers Dan Ack