Marcus Boerger wrote: > Hello Robert, > > Tuesday, October 19, 2004, 10:20:59 PM, you wrote: > >> The issues surrounding this seemed to have been muddied up a little, I'll >> try to clear them up. > >> I see two different sets of functionality that people are asking for. > >> #1. The ability to pass null on a type hinted param (but still a >> #mandatory >> param) > >> #2. The ability to define an optional type hinted param. > >> I see it as a very important distinction to make. Using the #2 to solve >> #1 is not the solution PHP should implement. Using some method which >> operates on the class hint itself is the right solution. > >> For example, using the [] method: > >> public function Compare([BaseClass] $objA, $cmpFunc); > > As far as we disallow this and only allow optional types at the end i'd > agre to this. Example: > > public function Compare($cmpFunc, [BaseClass] $objA); > I don't see any danger if we allow null with this syntax:
public function Compare([BaseClass] $objA, $cmpFunc); if we don't allow null with this syntax: public function Compare(BaseClass $objA, $cmpFunc); and if we make an argument optional with this syntax: public function Compare($cmpFunc, BaseClass $objA=null); If someone (like me) has thousands lines of code that uses 'null' meaning 'null reference' just need to use syntax #1. If someone is very strict and don't even think about using null in typehinted arguments, because null is not a value it's a type and must be used as so, just need to use syntax #2. If someone wants to make typehinted parameters optional, just use syntax #3. I really don't see any problem allowing this three syntaxes(but I'm not very clever since I'm for syntax #1) :-P Regards, Cristiano Duarte -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php