PHP doesn't have a concept of a "null" reference though. So to say that
every other language allows it is not a valid argument. The other languages
allow it because the language supports it. And that seems to be what the
arguments against it centered around.

I think a compromise would be to allow the argument to be optional but still
enforce the type hint. What this doesn't address fully is multiple optional
type hinted arguments.

function A(ZObj $arg2=null, ZObj $arg3=null) {}

How would you pass $arg3 if you didn't have anything to pass for $arg2.
Maybe that's just an inherent restriction of the language...to pass $arg3,
you have to pass a ZObj as $arg2.

Someone else suggested adding null references to the language:

ZObj $obj = null;

But I don't think that is the right solution either not to mention the
nightmare of actually implementing it.


Bob

-----Original Message-----
From: Cristiano Duarte [mailto:[EMAIL PROTECTED] 
Sent: Saturday, October 16, 2004 3:01 PM
To: [EMAIL PROTECTED]
Subject: RE: [PHP-DEV] Type hints with null default values

Robert Silva wrote:

> I think Marcus B's final comments in the original discussion are right on
> track.
> 
> Stab: I voted for NULL type hinted arguments before I voted against them.
> 
> The main thing that changed my mind, is that in PHP there is no such thing
> as a NULL object. I came to the conclusion that PHP wasn't broken, my
> programming style/code was.
> 
> My opinion is that they should stay as they are now although personally.
> 
> Now with that said, I do think there needs to be a method to allow a type
> hinted parameter to be optional (but not necessarily null).
That's what I'm asking for. :-)
I'm not asking for null objects, just an optional parameter that must be an
object or a "null" reference.
All OO languages I've ever programmed had this kind of reference(Java, C++,
Delphi, etc.)

Cristiano Duarte

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to