2005-09-25 18:04:35 +00:00
|
|
|
--TEST--
|
|
|
|
SPL: spl_autoload() with methods
|
2005-12-21 22:22:33 +00:00
|
|
|
--SKIPIF--
|
|
|
|
<?php if (!extension_loaded("spl")) print "skip"; ?>
|
2005-09-25 18:04:35 +00:00
|
|
|
--INI--
|
|
|
|
include_path=.
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
class MyAutoLoader {
|
|
|
|
|
|
|
|
function autoLoad($className)
|
|
|
|
{
|
|
|
|
echo __METHOD__ . "($className)\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
function autoThrow($className)
|
|
|
|
{
|
|
|
|
echo __METHOD__ . "($className)\n";
|
|
|
|
throw new Exception("Unavailable");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
spl_autoload_register(array('MyAutoLoader', 'autoLoad'), true);
|
|
|
|
}
|
|
|
|
catch(Exception $e)
|
|
|
|
{
|
|
|
|
echo 'Exception: ' . $e->getMessage() . "\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
// and
|
|
|
|
|
|
|
|
$myAutoLoader = new MyAutoLoader();
|
|
|
|
|
|
|
|
spl_autoload_register(array($myAutoLoader, 'autoLoad'));
|
|
|
|
spl_autoload_register(array($myAutoLoader, 'autoThrow'));
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
var_dump(class_exists("TestClass", true));
|
|
|
|
}
|
|
|
|
catch(Exception $e)
|
|
|
|
{
|
|
|
|
echo 'Exception: ' . $e->getMessage() . "\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|
|
|
|
===DONE===
|
|
|
|
<?php exit(0); ?>
|
|
|
|
--EXPECTF--
|
2008-02-02 03:20:51 +00:00
|
|
|
Exception: Passed array specifies a non static method but no object (non-static method MyAutoLoader::autoLoad() should not be called statically)
|
2005-09-25 18:04:35 +00:00
|
|
|
MyAutoLoader::autoLoad(TestClass)
|
|
|
|
MyAutoLoader::autoThrow(TestClass)
|
|
|
|
Exception: Unavailable
|
|
|
|
===DONE===
|