} } class B extends A { static function attr_test() { echo parent::$a; } static function method_test() { echo parent::modified_a(); } public function instance_test() { echo parent::hello(); } public function hello() { echo "*******"; parent::hello(); echo "*******"; } } echo B::$a . "<br />"; echo B::modified_a() . "<br />"; echo B::attr_test() . "<br />"; echo B::method_test() . "<br />"; $object = new B(); $object->instance_test(); $object->hello();
} } class B extends A implements Family, Postal{ public function getParentName() { } public function getAddress() { } static $word = "bye"; } B::hello(); echo "" . PHP_EOL; //A::hello(); echo class_exists('A'); echo "" . PHP_EOL; $oA = new A(); echo get_class($oA); echo "" . PHP_EOL; $oB = new B(); echo get_parent_class($oB); echo "" . PHP_EOL;
<?php require "tests.php"; require "casts.php"; // No new functions check::functions(array(new_a, a_hello, new_b)); // No new classes check::classes(array(A, B)); // now new vars check::globals(array()); # Make sure $b inherites hello() from class A $b = new B(); $b->hello(); check::done();
<?php trait T { function hello() { echo "Hello from T!\n"; } } class B { use T; function hello() { echo "Hello from B!\n"; } } class C extends B { } class D extends C { } $ob = new B(); $ob->hello(); $oc = new C(); $oc->hello(); $od = new D(); $od->hello();
<?php include 'classes.php'; $a = new A(); $b = new B(); $a->hello(); echo "\n"; $b->hello(123);