Re: Seemingly incorrect strict standard.

From: Date: Mon, 03 Jun 2013 17:36:43 +0000
Subject: Re: Seemingly incorrect strict standard.
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-321341@lists.php.net to get a copy of this message
On Mon, Jun 3, 2013 at 7:24 PM, Richard Quadling <rquadling@gmail.com>wrote: > Hi. > > I've got an abstract class which requires one of the concrete descendants > to implement a static function. > > The base class will call it using static:: rather than self::. > > But I'm getting an error at runtime. > > Static function should not be abstract. > > It doesn't SEEM right to inhibit this. > > Am I missing something? > > I'm on PHP 5.4.15 (Mac and Centos). > > Hi Richard, This change is done on purpose. From the PHP manual: "Dropped abstract static class functions. Due to an oversight, PHP 5.0.x and 5.1.x allowed abstract static functions in classes. As of PHP 5.2.x, only interfaces can have them." I believe you could make yourself in trouble when using it, and that's why there is a warning with strict. It does make sense, because overloading is something that works on classes, and static functions do not reference classes. - Matijn

« previous php.general (#321341) next »