Hi Joe,
On Tue, Feb 10, 2015 at 4:31 PM, Joe Watkins <[email protected]> wrote:
> Actually I'm not sure it's at all sane to try to override contracts, I'd
> actually avoid that completely, so no need to name contracts and no need
> for magic __invariant.
For example,
class Animal {
protected $legs;
require($legs >= 0);
}
class Snake extends Animal {
// Snake is fine, no leg
}
class Human extends Animal {
// 2 legs. $this->leg === 2
}
Overriding makes sense for many cases.
Regards,
--
Yasuo Ohgaki
[email protected]