public function f() { $m = new Mongo(); $db = new MongoDB($m, 'foo'); Foo2::$c = new MongoCollection($db, 'bar'); }
var_dump(foo::$p1); var_dump(foo::$p2); var_dump(bar::$p1); var_dump(bar::$p2); var_dump(bar::$p3); $o1->inc(); var_dump(foo::$p7); class Foo2 { public static $my_static = 'foo'; public function staticValue() { return self::$my_static; } } class Bar2 extends Foo2 { public function fooStatic() { return parent::$my_static; } } print Foo2::$my_static . "\n"; $foo = new Foo2(); print $foo->staticValue() . "\n"; print $foo->my_static . "\n"; // Undefined "Property" my_static // $foo::my_static is not possible print Bar2::$my_static . "\n"; $bar = new Bar2(); print $bar->fooStatic() . "\n";
/** * Test call stack with two middleware */ public function testCallStackWithTwoMiddlewares() { $stack = new Mnlg\Kanda\Stack(); $stack->add('Foo', '123')->add('Foo2'); $stack->call(); $called = new \ReflectionProperty($stack, 'called'); $called->setAccessible(true); $this->assertTrue($called->getValue($stack)); $foo = Foo::getInstance(); $foo2 = Foo2::getInstance(); $this->assertEquals($foo->param, '123'); $this->assertEquals($foo->next, $stack); $this->assertEquals($foo2->next, $foo); }