public function expectreplacedBehavior()
 {
     $mock = new ClassMethodReplacementGuard();
     $mock->replace('StaticMock\\MethodReplacer\\A', 'a', function () {
         return 3;
     });
     $mock->replace('StaticMock\\MethodReplacer\\B', 'b', function () {
         return 4;
     });
     $this->assertEquals(3, A::a());
     $this->assertEquals(4, B::b());
     $this->assertEquals(3, C::bar());
 }
 public function testMock()
 {
     $manager = ClassManager::getInstance();
     $manager->register('StaticMock\\MethodReplacer\\A', 'a', function () {
         return 3;
     });
     $manager->register('StaticMock\\MethodReplacer\\B', 'b', function () {
         return 4;
     });
     $this->assertEquals(3, A::a());
     $this->assertEquals(4, B::b());
     $manager->deregister('StaticMock\\MethodReplacer\\A', 'a');
     $manager->deregister('StaticMock\\MethodReplacer\\B', 'b');
     $this->assertEquals(1, A::a());
     $this->assertEquals(2, B::b());
 }
 public static function hacklib_initialize_statics()
 {
     self::$b = new \HH\Vector(array("do", "re", "mi"));
 }
Example #4
0
    function a()
    {
        echo $this->a++;
    }
}
class B extends A
{
    protected $a = 10;
    function b()
    {
        echo $this->a++;
        $this->a();
    }
}
$b = new B();
$b->b();
//10111213
// --------------------------------------------------
/*
class myClass {
    public $member = "ABC";
    static function showMember(){
        var_dump($this->member);
    }
}
myClass::showMember();//Fatal error: Using $this when not in object context
*/
// --------------------------------------------------
class Me
{
    const NAME = "Ricardo";