Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:63555 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 20342 invoked from network); 20 Oct 2012 09:40:55 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 20 Oct 2012 09:40:55 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 207.97.245.113 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 207.97.245.113 smtp113.iad.emailsrvr.com Linux 2.6 Received: from [207.97.245.113] ([207.97.245.113:40051] helo=smtp113.iad.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0C/8C-22055-6A172805 for ; Sat, 20 Oct 2012 05:40:54 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp31.relay.iad1a.emailsrvr.com (SMTP Server) with ESMTP id E4E1D3E06EF; Sat, 20 Oct 2012 05:40:51 -0400 (EDT) X-Virus-Scanned: OK Received: by smtp31.relay.iad1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id 6A6673E06EE; Sat, 20 Oct 2012 05:40:51 -0400 (EDT) Message-ID: <508271A2.40200@sugarcrm.com> Date: Sat, 20 Oct 2012 12:40:50 +0300 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:15.0) Gecko/20120907 Thunderbird/15.0.1 MIME-Version: 1.0 To: Clint Priest CC: "internals@lists.php.net" References: <9570D903A3BECE4092E924C2985CE485612C2595@MBX214.domain.local> In-Reply-To: <9570D903A3BECE4092E924C2985CE485612C2595@MBX214.domain.local> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Accessors : read-only / write-only keywords From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > get() { return $this->Hours; } > final set NULL; It looks like some unobvious piece of magic - what exactly "set NULL" means? There's no obvious parsing of this thing for somebody that doesn't already know what the magic means. I'd rather have people implement a method throwing exception manually than have this. It's unclear what is relationship between "set" (is it a variable? a constant? a method?) and "NULL" (what NULL here means? is it assignment of NULL to set? is it declaration of NULL with type "set"?) and it does not parse naturally with almost any background. Thinking about it for a while, the whole idea of "this class can never have this method implemented" looks a bit strange to me - I don't think I've ever encountered such concept in OOP. You can say "I implement it this way and you can't override it" but NULL does not suggest any natural implementation. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227