Re: Seemingly incorrect strict standard.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux