> Hi (Marcus), > > unfortunately I'm not very happy with the direction OO > strictness takes > in PHP. I'm sure I'm not alone and many people second this feeling. > > > Precisely, let's have a look at the following: > > [EMAIL PROTECTED]:~/build/php-5.2-debug$ cli > -d"error_reporting=8191" -r 'class c{function f(){}} class d > extends c{function f($a){}}' > Strict Standards: Declaration of d::f() should be compatible > with that of c::f() in Command line code on line 1 > > [EMAIL PROTECTED]:~/build/php-unicode-debug$ cli > -d"error_reporting=8191" -r 'class c{function f(){}} class d > extends c{function f($a){}}' > Fatal error: Declaration of d::f() must be compatible with > that of c::f() in Command line code on line 1 > > > I *really* think that this enforcements are no good idea and > I _beg_ you that we leave this "area" to interfaces. >
Not sure why this is necessary, why doesn't Class C { function f() { } } Class D { private $c; function __construct(C $c) { $this->c = $c; } function f($a) { } } work, with PHP's duck typing? Jared -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php