Re: [PHP] optional object arguments to a function

[email protected] ("Michael A. Peters")
Newsgroups php.general
Message-ID <[email protected]>
Shawn McKenzie wrote:
> Michael A. Peters wrote:
>> Rene Veerman wrote:
>>> On Sat, Feb 13, 2010 at 9:05 AM, Michael A. Peters <[email protected]>
>>> wrote:
>>>> How do I specify a default null object, or otherwise make the argument
>>>> argument optional?
>>>>
>>> To my knowledge: can't be done.
>>>
>>> But you can check any args through the func_get_arg*() functions, then
>>> per-parameter push 'm through a check function that checks if their
>>> primary properties are set.
>>> It's equivalent to checking for null ( / bad) objects.
>>>
>> Thank you to everybody. I think I will see how far I can get with
>> func_get_arg - it may solve the problem.
>>
>> The other hackish solution I thought of is to put the object arguments
>> into a key/value array and pass the array as a single argument to the
>> function. That way I can check for the key and if the key is set, grab
>> the object associated with it.
> 
> Maybe I mis-read your post, but what's wrong with Jochem's method.
> That's what I was going to propose.
> 

Possibly nothing - but passing an array with keys I think makes it 
easier to determine what the object (a DOM node) corresponds with by 
just looking at the key (IE for a single integral there can be lower 
limit, upper limit, etc.)

Maybe after implementing it that way and actually getting things 
working, I can look into passing the dom objects as actual arguments 
instead of wrapping them in array.

But some existing functions like tidy take some of their optional 
arguments in a key->value array and it is now in php core so it isn't 
unprecedented to use a key->value array.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.