Re: Re: Named arguments revisited

From: Date: Thu, 12 Jan 2006 06:25:42 +0000
Subject: Re: Re: Named arguments revisited
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-21481@lists.php.net to get a copy of this message
Hello Aidan, I think named parameters would be a useful feature... I'll leave it at that. Here is a coding idea for you, in case you hadn't considered it... function highlight($text=NULL, $needle=NULL, $strip_links=NULL, ...) { is_null($text) && $text = SOME DEFAULT VALUE; is_null($needle) && $text = SOME DEFAULT VALUE; is_null($strip_links) && $text = SOME DEFAULT VALUE; ... } In that way, the user doesn't have to remember the default values, just the offsets. Best wishes with the proposal. -- Best regards, Jason mailto:jason@ionzoft.com Wednesday, January 11, 2006, 8:53:11 PM, you wrote: AL> Andrei Zmievski wrote: >> On Jan 9, 2006, at 4:09 AM, Aidan Lister wrote: >> >>> As useful functions tend to increase in complexity over time, often so >>> does the number of parameters. >>> >>> It soon gets to the point where function calls look like: >>> foo(true, false, false, false, false, true) >>> The rest of the parameters being required to be supplied, with their >>> default value, when the user is only interested in changing the last >>> option. >>> >> >> If you get to the point where your function has a dozen parameters, I >> would suggest re-thinking the purpose and design of such a function, >> because you are likely trying to make it do too much. >> >> -Andrei AL> In a simple highlighting function I wrote (which at 16k hits is probably AL> considered useful) I needed most of the following parameters: AL> $text AL> $needle AL> $strip_links AL> $case_sensitive AL> $whole_word_only AL> $simple_text_only AL> $highlight_pattern AL> $return_or_print AL> $use_xhtml AL> $tooltips_or_divs AL> I imagine any function dealing with html may use a significant portion AL> of these. Obviously some of these are for effect, but I think my point AL> is clear enough. AL> We've discussed other options at developers disposal like associative AL> arrays, setOpt and getOpt functions in a class, but again each have AL> their drawbacks and named parameters solve the problem elegantly. AL> Could we properly discuss the pros and cons of a name parameters AL> implementation - even if it's only to put the whole issue to bed once AL> and for all? AL> Best wishes, AL> Aidan

« previous php.internals (#21481) next »