Re: Re: ClassHints and NULL

From: Date: Fri, 18 Jun 2004 14:41:08 +0000
Subject: Re: Re: ClassHints and NULL
References: 1 2 3 4 5 6  Groups: php.internals 
Request: Send a blank email to internals+get-10587@lists.php.net to get a copy of this message
Hi, Marcus Boerger wrote:
Last but not least we know already that a lot of people like to be able to handle both instanceof or null with typehints. But at the moment we have no solution that can go into PHP 5.0. However i am quite sure we will address this for 5.1.
I'm glad this issue will be re-evaluated. I think the loss of null option is disappointing since it precludes optional params (which was really the only place I was using it), but I also understand the reasoning. Here is a slightly related example from my code which is preventing me from being able to use typehints at all -- the issue is more than just allowing null, clearly: abstract class BasePeer { // ... public static function doDelete(Criteria $criteria, Connection $con) { // ... } } class AuthorPeer extends BasePeer { public static function doDelete(Criteria $criteria, $con = null) {
     if ($con === null) {
        $con = Transaction::begin();
     }
     // ...
     parent::doDelete($criteria, $con);
} } Now, even though I am using typehints propertly (i.e. not specifying one for $con in subclass), my code is no longer E_STRICT -- because the signatures do not match. :( Obviously issue is larger than the typehints, but it would be nice if the above code were able to be E_STRICT (especially since BasePeer is an abstract class) -- and it would be nice if I could use optional paramters w/ typehints. Of course, namespaces are more important than anything ;) Hans

« previous php.internals (#10587) next »