<?php class T { public function __call($name, $arg) { var_dump($name, $arg); } } $t = new T(); $t->test(); $t->test('aaa'); $t->test([1, 2, 3]); $t->test([1, 2, 3], 22);
X::test insteadof Y; X::test as test1; Y::test as test2; X::test8 insteadof Y; X::test8 as test81; Y::test8 as test82; } } var_dump(T::test()); var_dump(T::test1()); var_dump(T::test2()); var_dump(call_user_func("T::test")); var_dump(call_user_func("T::test1")); var_dump(call_user_func("T::test2")); $obj = new T(); var_dump($obj->test()); var_dump($obj->test1()); var_dump($obj->test2()); var_dump(call_user_func(array($obj, "test"))); var_dump(call_user_func(array($obj, "test1"))); var_dump(call_user_func(array($obj, "test2"))); var_dump(T::test8(1, 2, 3, 4, 5, 6, 7, 8)); var_dump(T::test81(1, 2, 3, 4, 5, 6, 7, 8)); var_dump(T::test82(1, 2, 3, 4, 5, 6, 7, 8)); var_dump(call_user_func("T::test8", 1, 2, 3, 4, 5, 6, 7, 8)); var_dump(call_user_func("T::test81", 1, 2, 3, 4, 5, 6, 7, 8)); var_dump(call_user_func("T::test82", 1, 2, 3, 4, 5, 6, 7, 8)); $obj = new T(); var_dump($obj->test8(1, 2, 3, 4, 5, 6, 7, 8)); var_dump($obj->test81(1, 2, 3, 4, 5, 6, 7, 8)); var_dump($obj->test82(1, 2, 3, 4, 5, 6, 7, 8));
<?php namespace foo\newHello; class T { public function test() { echo __CLASS__ . PHP_EOL; echo __METHOD__ . PHP_EOL; echo __FUNCTION__ . PHP_EOL; } } $t = new T(); $t->test();
// TT, because of "static". would be T, if it were "return new self" var_dump(TT::$hello); var_dump(TT::getParentHello()); var_dump(T::HELLO); var_dump(TT::HELLO); TT::getHelloConst(); // Notice: undefined var_dump($c->ewfiohoiwefh); // null //throw new Exception(); destructors won't run // fatal //var_dump((new T())->$hello); // works var_dump($c::$hello); var_dump($c3::$hello); // works (new T())->getHelloConst(); var_dump(TT::testConst()); // inherited // works, but E_STRICT T::test(); // can use null instead of TT $c->ca(null); // __PHP_Incomplete_class $zzz = unserialize('O:1:"A":0:{}'); var_dump($zzz); $cClone = clone $c; echo $cClone->getPrivate() . PHP_EOL; $c4 = clone $c3; $c3->modifyPrivate(); echo PHP_EOL;