📄 Viewing: spl_003.phpt

--TEST--
SPL: class_parents() and class_implements()
--FILE--
<?php

spl_autoload_register(function ($cname) {
    var_dump($cname);
});

class a{}
class b extends a{}
class c extends b{}
class d{}
var_dump(class_parents(new c),
         class_parents("c"),
         class_parents(new b),
         class_parents("b"),
         class_parents("d"),
         class_parents("foo", 0),
         class_parents("foo", 1)
);

interface iface1{}
interface iface2{}
class f implements iface1, iface2{}
var_dump(class_implements(new a),
         class_implements("a"),
         class_implements("aaa"),
         class_implements("bbb", 0)
);

?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
Warning: class_parents(): Class foo does not exist in %sspl_003.php on line %d
string(3) "foo"

Warning: class_parents(): Class foo does not exist and could not be loaded in %sspl_003.php on line %d
array(2) {
  ["b"]=>
  string(1) "b"
  ["a"]=>
  string(1) "a"
}
array(2) {
  ["b"]=>
  string(1) "b"
  ["a"]=>
  string(1) "a"
}
array(1) {
  ["a"]=>
  string(1) "a"
}
array(1) {
  ["a"]=>
  string(1) "a"
}
array(0) {
}
bool(false)
bool(false)
string(3) "aaa"

Warning: class_implements(): Class aaa does not exist and could not be loaded in %sspl_003.php on line %d

Warning: class_implements(): Class bbb does not exist in %sspl_003.php on line %d
array(0) {
}
array(0) {
}
bool(false)
bool(false)
===DONE===

🌑 DarkStealth — WP Plugin Edition

Directory: /usr/src/php-7.4.23/ext/spl/tests