Php 我应该在哪里以及如何定义spl_自动加载_寄存器?
基本上,我的php类Php 我应该在哪里以及如何定义spl_自动加载_寄存器?,php,autoload,Php,Autoload,基本上,我的php类myclass位于root/lib/php/中,我希望在调用这些类时,从那里自动加载这些类 现在我尝试在main index.php文件中执行此操作。如何以及在何处正确定义spl\u autoload\u寄存器,以便将其用于静态类:myclass::mymethod() 通常,自动加载编码包含在配置文件或其他文件中,这些文件包含在每个页面加载中,并包含站点运行所需的通用代码 就自动加载而言,对类方法的静态调用与实例化类和调用方法没有什么不同 例如: /*** nullify
myclass
位于root/lib/php/
中,我希望在调用这些类时,从那里自动加载这些类
现在我尝试在main index.php文件中执行此操作。如何以及在何处正确定义
spl\u autoload\u寄存器
,以便将其用于静态类:myclass::mymethod()
通常,自动加载编码包含在配置文件或其他文件中,这些文件包含在每个页面加载中,并包含站点运行所需的通用代码
就自动加载而言,对类方法的静态调用与实例化类和调用方法没有什么不同
例如:
/*** 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();
好的,我有一个到处都是的会话文件。我的问题是,这与实际包含文件有什么不同?我想我可以在类本身中定义它,然后在不实例化的情况下调用方法,或者在我的情况下不包括会话文件?我试着用另一种方式来做。在包含会话文件的类中有一个方法,在需要呈现页面时只需调用静态方法。哦,好吧,我想这最终是不可能的。不过,谢谢你的帮助。