}
- echo "About to construct new B: ";
+ echo "About to construct new B: \n";
$b = new B;
- echo "About to invoke implicit B::B(): ";
- $b->B();
- echo "\nAbout to construct new C: ";
+ echo "Is B::B() callable?\n";
+ var_dump(is_callable(array($b, "B")));
+
+ echo "Is B::A() callable?\n";
+ var_dump(is_callable(array($b, "A")));
+
+ echo "About to construct new C: \n";
$c = new C;
- echo "About to invoke implicit C::B(): ";
- $c->B();
- echo "About to invoke implicit C::C(): ";
- $c->C();
-?>
---EXPECTF--
-About to construct new B: In A::A
-About to invoke implicit B::B(): In A::A
-About to construct new C: In A::A
-About to invoke implicit C::B(): In A::A
-About to invoke implicit C::C(): In A::A
+ echo "Is C::A() callable?\n";
+ var_dump(is_callable(array($c, "A")));
+ echo "Is C::B() callable?\n";
+ var_dump(is_callable(array($c, "B")));
+ echo "Is C::C() callable?\n";
+ var_dump(is_callable(array($c, "C")));
+?>
+--EXPECTF--
+About to construct new B:
+In A::A
+Is B::B() callable?
+bool(false)
+Is B::A() callable?
+bool(true)
+About to construct new C:
+In A::A
+Is C::A() callable?
+bool(true)
+Is C::B() callable?
+bool(false)
+Is C::C() callable?
+bool(false)