Annotation of embedaddon/php/ext/spl/tests/spl_autoload_005.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: spl_autoload() with methods
3: --INI--
4: include_path=.
5: --FILE--
6: <?php
7:
8: class MyAutoLoader {
9:
10: function autoLoad($className)
11: {
12: echo __METHOD__ . "($className)\n";
13: }
14:
15: function autoThrow($className)
16: {
17: echo __METHOD__ . "($className)\n";
18: throw new Exception("Unavailable");
19: }
20: }
21:
22: try
23: {
24: spl_autoload_register(array('MyAutoLoader', 'autoLoad'), true);
25: }
26: catch(Exception $e)
27: {
28: echo 'Exception: ' . $e->getMessage() . "\n";
29: }
30:
31: // and
32:
33: $myAutoLoader = new MyAutoLoader();
34:
35: spl_autoload_register(array($myAutoLoader, 'autoLoad'));
36: spl_autoload_register(array($myAutoLoader, 'autoThrow'));
37:
38: try
39: {
40: var_dump(class_exists("TestClass", true));
41: }
42: catch(Exception $e)
43: {
44: echo 'Exception: ' . $e->getMessage() . "\n";
45: }
46:
47: ?>
48: ===DONE===
49: <?php exit(0); ?>
50: --EXPECTF--
51: Exception: Passed array specifies a non static method but no object (non-static method MyAutoLoader::autoLoad() should not be called statically)
52: MyAutoLoader::autoLoad(TestClass)
53: MyAutoLoader::autoThrow(TestClass)
54: Exception: Unavailable
55: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>