基本上,我在root/lib/php/中有一个php类myclass,当我调用它们时,我想要从那里自动加载的类。
现在,我正尝试在主index.php文件中执行此操作。我应该如何以及在哪里正确地定义spl_autoload_register,以便可以将其用于静态类:myclass::mymethod()
发布于 2012-04-17 18:47:39
通常,自动加载编码包含在配置文件或其他一些文件中,这些文件包含在每个页面加载中,并且包含站点运行所需的公共代码。
就自动加载而言,静态调用类方法与实例化一个类并调用一个方法没有什么不同。
举个例子:
/*** nullify any existing autoloads ***/
spl_autoload_register(null, false);
/*** specify extensions that may be loaded ***/
spl_autoload_extensions('.Class.php');
/*** class Loader ***/
define('BASE_APP_PATH', '/path/to/root/web/');
function classLoader($class){
$filename = $class . '.Class.php';
$file = BASE_APP_PATH.'classes/' . $filename;
if (file_exists($file)){
include $file;
}
}
/*** register the loader functions ***/
spl_autoload_register('classLoader');然后,您可以在不显式要求类的文件的情况下执行此操作:
echo SomeClass::staticCall();https://stackoverflow.com/questions/10189683
复制相似问题