Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23495 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 6342 invoked by uid 1010); 16 May 2006 23:38:19 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 6327 invoked from network); 16 May 2006 23:38:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 May 2006 23:38:19 -0000 X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:59938] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id D3/F9-19568-9626A644 for ; Tue, 16 May 2006 19:38:17 -0400 Received: from baumbart.mbo (dslb-084-063-059-004.pools.arcor-ip.net [84.63.59.4]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id A135335C1E9; Wed, 17 May 2006 01:38:13 +0200 (CEST) Date: Wed, 17 May 2006 01:38:18 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <474576998.20060517013818@marcus-boerger.de> To: "D. Dante Lorenso" Cc: Jason Garber , Christian Schneider , In-Reply-To: <446A601A.8010205@vocalspace.com> References: <785810036.20060511193536@ionzoft.com> <44647B7A.2070301@php.net> <932738738.20060513112734@marcus-boerger.de> <837405862.20060513223403@ionzoft.com> <36828701.20060514110529@marcus-boerger.de> <31269879.20060514221212@marcus-boerger.de> <1327845846.20060514222154@marcus-boerger.de> <1562034641.20060516203354@marcus-boerger.de> <7.0.1.0.2.20060516235201.090f10a8@zend.com> <7.0.1.0.2.20060516142654.02c78380@zend.com> <596643859.20060516233753@marcus-boerger.de> <7.0.1.0.2.20060516144030.039abe98@zend.com> <1531743211.20060516234945@marcus-boerger.de> <1014418169.20060516181322@ionzoft.com> <1677590447.20060517002135@marcus-boerger.de> <446A5B52.9060001@cschneid.com> <27079878.20060516191743@ionzoft.com> <446A601A.8010205@vocalspace.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] private, protected, readonly, public From: helly@php.net (Marcus Boerger) Hello D., Wednesday, May 17, 2006, 1:28:26 AM, you wrote: > Jason Garber wrote: >> CS> Does anyone apart from me wonder why we need to bloat the language for >> CS> an obscure feature like this? Please take a step back, take a deep >> CS> breath, count to 10 and that's *really* what the PHP community has been >> CS> waiting for. >> >> Please consider that not everyone does the same things with PHP that >> you do - you apparently haven't run into the need for it. >> >> That's okay, but others have. >> > I'm not familiar with this OOP concept from any other language. Perhaps > it exists, but if it doesn't, is there a reason why? Delphi and borlands C++ have compareable semantics. They just offer much more. And they have it for one reason: Enforcing full blown property semantics by getter and setter methods as Java offers is simply dead slow when you just want to prevent uncontrolled write access. > If you add a language construct like 'readable' or 'readonly' wouldn't > that almost begin to require the need for reflection functions to go > along with it: > is_readable($object, $key) > Or something like that? That is pretty secondary. And as we have a reflection extension that is already able to reflect on anything about php i am quite sure we can add this little piece too. Actually the code is a 4 line addon or so. Best regards, Marcus