<?php function test($func) { try { $a = $func(""); } catch (Error $e) { throw new Exception(); } return true; } class A { public function b() { test("strlen"); test("iterator_apply"); } } $a = new A(); $a->b();
function gen() { $a = new A(); $a->b(yield); }
<?php class A { public function b() { function c() { return function () { return $this->d(); }; } return c(); } private function d() { return 91; } } $a = new A(); $b = $a->b(); var_dump($b());
<?php A::b()->c = 1; A::b()->c = 1; A::b()->c->d->e = 1; $A->b()->c->d = 2; $A->b->c->d = 3;
<?php class A { public function b() { $cl = function () { (yield $this->c()); }; (yield $cl()); } private function c() { return 'A'; } } $a = new A(); foreach ($a->b() as $c) { foreach ($c as $d) { print "{$d}\n"; } }
function main() { class B { } class A extends B { public function b() { var_dump(self::class); var_dump(static::class); var_dump(parent::class); } } var_dump(A::class); A::b(); function c($c = A::class) { var_dump($c); } c(); var_dump(Vector::class); trait C { public function c() { var_dump(self::class); var_dump(static::class); var_dump(parent::class); } }
<?php class A { public static function b() { return \STDIN; } } var_dump(A::b());
/** * Test for b. * * @return void */ public function testB() { $str_name = "Nico"; $this->assertEquals($this->_obj->b($str_name), "NicoNico"); }
function get() { return A::b()->c; }