I get that people want to do that, it's so comfortable. But is it really a
good idea? When I have that kind of problem, I use:

class Foo{
    protected $date = "date";
    function getDate(){
         return ($this->date)();
    }
}

$mockFoo = new class extends Foo{ protected $date = "my_fake_date"; };

Or dependency injection (I inject the function as closure in the ctor).
Alternatively, you could consider using https://github.com/krakjoe/uopz
which allows to redefine functions at runtime.

Reply via email to