summaryrefslogtreecommitdiff
path: root/ext/spl/tests/spl_autoload_004.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/spl_autoload_004.phpt')
-rw-r--r--ext/spl/tests/spl_autoload_004.phpt43
1 files changed, 43 insertions, 0 deletions
diff --git a/ext/spl/tests/spl_autoload_004.phpt b/ext/spl/tests/spl_autoload_004.phpt
new file mode 100644
index 0000000..1f26521
--- /dev/null
+++ b/ext/spl/tests/spl_autoload_004.phpt
@@ -0,0 +1,43 @@
+--TEST--
+SPL: spl_autoload() with static methods
+--INI--
+include_path=.
+--FILE--
+<?php
+
+class MyAutoLoader {
+
+ static function autoLoad($className) {
+ echo __METHOD__ . "($className)\n";
+ }
+}
+
+spl_autoload_register(array('MyAutoLoader', 'autoLoad'));
+
+// and
+
+$myAutoLoader = new MyAutoLoader();
+
+spl_autoload_register(array($myAutoLoader, 'autoLoad'));
+
+var_dump(spl_autoload_functions());
+
+// check
+var_dump(class_exists("TestClass", true));
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(1) {
+ [0]=>
+ array(2) {
+ [0]=>
+ string(12) "MyAutoLoader"
+ [1]=>
+ string(8) "autoLoad"
+ }
+}
+MyAutoLoader::autoLoad(TestClass)
+bool(false)
+===DONE===