<?php class c { function x($y) { echo $y . "\n"; return $this; } } function p($x) { echo $x . "\n"; return $x; } $x = new c(); $x->x(3, p(1), p(2))->x(6, p(4), p(5));
$foo++; echo $foo; } static function sf() { static $foo = 0; $foo++; echo $foo; } } class d extends c { public $q = 30; } $x = new c(); $x->x(); $x->y(); $x->y(); $x->y(); $x->y(); $x = new d(); $x->x(); $x->y(); $x->y(); $x->y(); c::sf(); c::sf(); c::sf(); d::sf(); d::sf(); d::sf();
<?php trait t { function x() { print __METHOD__ . "\n"; } static function x2() { } final function x3() { } public final function x3p() { } public final function px3() { } } class c { use t; } $c = new c(); $c->x();
<?php class c { protected $cm = 'get'; function x() { var_dump($this->cm); } } class c2 extends c { } $y = new c(); $y->x(); $z = clone $y; $z->x(); $y = new c2(); $y->x(); $z = clone $y; $z->x();