Re: [PHP] Seemingly incorrect strict standard.
[email protected] (Richard Quadling)
| Newsgroups | php.general |
|---|---|
| Message-ID | <CAKUjMCV3qj=a9hCTrOwHP0pkVa-Jfp1epSL0QbBPXTbDPQS+6Q@mail.gmail.com> |
On 4 June 2013 09:57, Richard Quadling <[email protected]> wrote: > On 3 June 2013 20:37, shiplu <[email protected]> wrote: > >> Show a short reproducible code. >> > And I can now see an interface is a much simpler mechanism! > <?php interface baseInterface { static public function generateLocalisedContent($s_Stuff); } abstract class baseClass implements baseInterface { public function __construct($s_Stuff) { echo static::generateLocalisedContent($s_Stuff); } } class sub1 extends baseClass{} class sub2 extends baseClass{ static public function generateLocalisedContent($s_Stuff){ return 'Your stuff is ' . $s_Stuff . PHP_EOL; } } try { $o1 = new sub1('Stuffed1'); } catch(Exception $ex){ echo $ex->getMessage(), PHP_EOL; } try { $o2 = new sub2('Stuffed2'); } catch(Exception $ex){ echo $ex->getMessage(), PHP_EOL; } ?> PHP Fatal error: Class sub1 contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (baseInterface::generateLocalisedContent) in - on line 12 A much more meaningful error. -- Richard Quadling Twitter : @RQuadling EE : http://e-e.com/M_248814.html Zend : http://bit.ly/9O8vFY