RE: [PHP-DEV] Type hints with null default values

From: Date: Sat, 16 Oct 2004 21:50:58 +0000
Subject: RE: [PHP-DEV] Type hints with null default values
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-13351@lists.php.net to get a copy of this message
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). class a { function b(Obj c=null) {}; } $a->b(null) or $a->b($anything_not_an_Obj) would be an error. $a->b() would be valid. function Format(ZIFormatter $formatter=null) { if (isset($formatter)) return $formatter->Format($this); else return $this; } Now the argument can be made to not type hint $formatter to begin with, but I don't want to have to check that it isnt null and instanceof ZIFormatter interface. I just want to know if it was passed, that I can use it as a ZIFormatter object. Bob Silva -----Original Message----- From: Cristiano Duarte [mailto:cunha17@uol.com.br] Sent: Saturday, October 16, 2004 12:14 PM To: internals@lists.php.net Subject: [PHP-DEV] Type hints with null default values Hi @ll, Now that 5.0.3 is out, maybe it's time to bring back that old problem left in May: type hints and null default values. This feature was dropped since no one could come with a reasonable solution. So, for now, there is no (engine) way to have a parameter that can only be of some class or null. Am I right ? The use of null (I know it's not a value it's a type...) is justified because we don't have a "value" to represent a NULL OBJECT(or NO OBJECT). IMO, this is a necessary feature (maybe others thing this way too) and that's why I brought it back. Cristiano Duarte -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.internals (#13351) next »