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

Reply via email to