今天网站莫名其妙宕机了。不断报502和504错误。你能知道宕机期间我的那种如何维修都回天无力的心情。
趁这个机会仔细研究了emlog的源码。这里做一下关于autoload函数的使用笔记。
对于一个大型的PHP程序,我们会使用到很多类(class),这些类存放在不同的文件。例如mysql.class.php,database.func.php。如果在文件开头使用include进行加载可能会特别复杂,甚至造成遗漏。php的autoload函数应运而生。
使用这个函数可以无需引入类文件,通过new class()自动加载类。不过前提是你文件的名称必须与类名有规则。例如:
function __autoload($classname) {
require_once ($classname . "class.php");
}
有了这个函数后,你在整个php文档中无需另行引入类文件,可以直接调用类。例如
$sqlclass = new sql();
这样php会将sql这个类名自动传入__autoload函数,函数会require sql.class.php,就实现了自动加载类。