Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95157 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 81419 invoked from network); 14 Aug 2016 23:53:30 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Aug 2016 23:53:30 -0000 Authentication-Results: pb1.pair.com header.from=cmbecker69@gmx.de; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=cmbecker69@gmx.de; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.de designates 212.227.15.15 as permitted sender) X-PHP-List-Original-Sender: cmbecker69@gmx.de X-Host-Fingerprint: 212.227.15.15 mout.gmx.net Received: from [212.227.15.15] ([212.227.15.15:64700] helo=mout.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 04/E5-36656-97401B75 for ; Sun, 14 Aug 2016 19:53:30 -0400 Received: from [192.168.2.103] ([79.243.112.54]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0LvV1X-1b9ChK2bp5-010bcX; Mon, 15 Aug 2016 01:53:25 +0200 To: Stanislav Malyshev , internals@lists.php.net References: <11f9c899-77b4-da50-f0f7-dc2d16b1829c@gmail.com> <431d5b9c-15ef-9af8-7a55-b776b2dd22ad@gmail.com> <7d424a30-9310-85d6-c520-02d981998875@fleshgrinder.com> <0ea03de8-6a16-3ae5-cb94-6b45f610bfe9@gmail.com> Message-ID: <755de509-e1c2-e32a-b8c0-510599022421@gmx.de> Date: Mon, 15 Aug 2016 01:53:36 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <0ea03de8-6a16-3ae5-cb94-6b45f610bfe9@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:hkFFlTZ/a5dPhmB4flacZbAqyBs6yeLiqQKgKBFO8Rdc/z1fFWs wqmb3bn5mMr13gX2tQ/pyKNRVsGlV99OFwlMFO3Achwis6yP206XkeMm2t112BZBXmgaF9i Lz4tkTvy3qJkn7I1JS3m9k4QqwNX70wtN/tfiNqKsoqLh6MIrRWDmMY7s2Nsy5dC+//rcTd OiZYkbB8VPJU4zlS+XXxA== X-UI-Out-Filterresults: notjunk:1;V01:K0:uxpw8tVqT1k=:mMHCyBVoQ+mTqdml4dQ+ai hso4Hm3wDDtFiY7F51OfGH0l+kDPyag3UtCZyarvo2fzh4iR/qosCB6XLm+VQJMHvgwVQxlfm jNQY8uadtrqlCi9ikUM/e5kOECvLwwOp87UQpaw54qNAQC83SOYABewFpxNKvpI179ukx3doM eJFpu9jcY7dFf9mUDZqdS3VaNDlnqHRN1D9Atxve5C7oVyucxDQUNZcvnlcaH2rkMozML3wwB 1RYsnQcFEJX8EJrHxady3Eh6ccm3HlToCtqjnkaiELHcUOvZah7krtzm3AlLVUvO/1EfpCPFB nDMxmqUPnzLpM1efX0dvUSTC8LMmjbwsL3zzsSlCyaAmfSdUGLnKE1YLJ52smcszJTacljTZx Dcied57NHyFhwIm2cl1Be7NW5eIT1u4rP9kpCibyRoigQxDvc43LMzS4L6fcyTEk+SFeuQZwt DgrFXLTRar7C8yuFRK8UCDcGK59XyoY399/YPMKVjsvps6BJOUImOV+A+IxNrEZ88GBd45FlK EgmRWX6/6DiCjSpIsIjXmG89+8y+GrjhNNRjx1IhxgkOVOkVfcsEQwcpWGwBjlrcO6lxHg/Yk UMdYSkCj0P8a+hcIuN7Vc1fGD7MsW/JUMINFTsEIYwBC6E/az2p2cHtuCDNGAsjwbDNDGuvWC u+5R51/p4FSrrkP4mfazKpsQ1oUEn9FkEYVZbfZmxOE985dqGi6qL/1XGTx5+intjKeoJmofQ 5PM9JngW1rHhzguNDwtnAEqlYpCDVVckkuUmoDnrQPWWOXH6CkX7FtQ/G74Vfl6RA14s4y5ha SWoM9fQ Subject: Re: [PHP-DEV] Namespaces internal refactoring From: cmbecker69@gmx.de ("Christoph M. Becker") On 15.08.2016 at 00:11, Stanislav Malyshev wrote: > Also, there's a difference IMO between classes and class' properties. > Class details may be - indeed, need to be - hidden because this is what > the class is, one of it's reasons to exist - a tool to reduce complexity > by hiding irrelevant information and exposing only relevant information > as class' public API. You hide things not because you're afraid evil > users would abuse them - but as a service to the user to not overload > their mental models with irrelevant details and allow to deal with the > class by only considering the important things. If it were only about suppressing unimportant details, documentation would suffice, e.g. /** @private */ or the leading underscore convention. I am, however, quite happy to have language support to catch *inadvertent* accesses. -- Christoph M. Becker