Hi Robert
Am 16.01.2015 um 11:04 schrieb Robert Stoll:
Hi Stas,
-----Ursprüngliche Nachricht-----
Von: Stanislav Malyshev [mailto:smalys...@gmail.com]
Gesendet: Mittwoch, 14. Januar 2015 21:26
An: Marc Bennewitz; internals@lists.php.net
Betreff: Re: [PHP-DEV] [RFC] Skipping parameters take 2
Hi!
Is it possible to use the default parameter on inheritance?
class Bar {
function foo($a='a', $b='b') {}
}
class Baz extends Bar {
function foo($a=default, $b=default) {
// do something
parent::foo($a, $b);
}
}
It's not part of the original proposal, and I'm not sure how easy it would be
to implement, but it sounds like a nice
extension, I didn't think about it. Since the RFC is already in vote, I won't
change it now, but I'll look into if
it's possible to do
it, and if the RFC is accepted, and it proves possible, I'll propose it
separately.
--
Stas Malyshev
smalys...@gmail.com
This would be quite a nice feature, even if this RFC does not pass. Just as
hint, there are ambiguous case which need to
be considered:
interface A{
function foo($a=1);
}
interface B{
function foo($a="hi");
}
class C implements A, B{
function foo($a=default){} //what would be the default value?
}
Cheers,
Robert
The default value have be the one of the parent.
if there is no parent you have the following options:
* Syntax error (I prefer)
* If defined use from interface
* If ambiguous:
* Syntax error
* Choose one (bad in my opinion)
Marc