Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:10731 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 73509 invoked by uid 1010); 23 Jun 2004 16:33:05 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 73485 invoked by uid 1007); 23 Jun 2004 16:33:05 -0000 Message-ID: <20040623163305.73484.qmail@pb1.pair.com> To: internals@lists.php.net Date: Wed, 23 Jun 2004 18:32:50 +0200 User-Agent: Mozilla Thunderbird 0.7a (Windows/20040614) X-Accept-Language: en-us, en MIME-Version: 1.0 References: <20040623150429.E62456@hyperion-data.net> In-Reply-To: <20040623150429.E62456@hyperion-data.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Posted-By: 80.126.99.118 Subject: Re: keyword arguments? From: bert@procurios.nl (Bert Slagter) Even after reading your message twice, I can't think of an example where this would be useful. Obviously, I don't understand your intention. Could you give an example of a construction that is made possible by this feature (and thus would otherwise be impossible)? Bert Daniel Crookston wrote: > It looks like the last time this was discussed was October of 2003, over > the course of about five emails. I don't see anything in the archives > about it since then. Here's what I'd like to suggest. > > some_function($a, 'B', :check TRUE) > > function some_function($first, $second, :check $key1 = FALSE, :foo $key2) > { > if ($key1) { > lala; > } elseif ($key2 > 0) { > blabla; > } > } > > Sticking a : in front of the variable name, either in the calling code or > the function declaration, makes it a keyword argument. Keyword arguments > are always optional, and [could|should] default to something handy like > FALSE or 0. (Maybe make their defaults settable in php.ini?) > > I would implement this myself, but even after reading George > Schlossnagle's fantastic book, I'm still not wizardly enough to do so. If > someone could point me in the right direction, though... > > Thanks for listening, > Daniel