On Mon, Jun 3, 2013 at 7:24 PM, Richard Quadling <rquadling@xxxxxxxxx>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