Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:63874 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 27581 invoked from network); 14 Nov 2012 16:24:18 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Nov 2012 16:24:18 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 173.203.6.147 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 173.203.6.147 smtp147.ord.emailsrvr.com Linux 2.6 Received: from [173.203.6.147] ([173.203.6.147:56773] helo=smtp147.ord.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5D/92-10194-1B5C3A05 for ; Wed, 14 Nov 2012 11:24:17 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp19.relay.ord1a.emailsrvr.com (SMTP Server) with ESMTP id 268473B014F; Wed, 14 Nov 2012 11:24:15 -0500 (EST) X-Virus-Scanned: OK Received: by smtp19.relay.ord1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id B1EB93B00A9; Wed, 14 Nov 2012 11:24:14 -0500 (EST) Message-ID: <50A3C5AE.7080208@sugarcrm.com> Date: Wed, 14 Nov 2012 08:24:14 -0800 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: Clint Priest CC: PHP Developers Mailing List References: <508A67E6.2000405@zerocue.com> <50A39C58.6030501@zerocue.com> In-Reply-To: <50A39C58.6030501@zerocue.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Property Accessors v1.2 : Internal Accessor Method Visibility / Callability From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > Been AWOL for a while and getting back to this, doesn't seem like any > resolution has occurred, just the conversation has died down. > > I would propose that: > > 1) Internal accessor methods that are defined are callable directly. > 2) Said methods are not reflected or revealed by the engine (stack > traces, reflection, etc would hide the engines implementation details) > > I think that with the above, #1 makes it easy as no further changes are > required to make that happen, they're already directly callable and #2 > jives with what *most userland programmers* would expect. > > Anyone disagree? Yes. I strongly disagree with adding any magic to the engine that messes with reflection and backtraces and removes methods existing and being called from it. I think no "userland" programmer would have any problem understanding that these methods exist and how they work, just as nobody has problem understanding how __get works. I think adding this magic complicates both engine code (which will have to be supported for years to come) and the language, without absolutely any benefit to anybody except for imaginary people being scared to death by methods that they themselves defined showing up in the backtrace. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227