营销型网站建设网络推广,设计方案范文,网站编辑器是怎么做的,青岛济南网站建设优化这个函数是一个自动加载类函数#xff0c;啥事自动加载函数#xff0c;顾名思义 #xff0c;那就是自己就会加载类的函数#xff08;原谅我废话了#xff09;
我们先看下面的代码#xff1a;
?php
function __autoload($classname) {echo helloworld;…这个函数是一个自动加载类函数啥事自动加载函数顾名思义 那就是自己就会加载类的函数原谅我废话了
我们先看下面的代码
?php
function __autoload($classname) {echo helloworld;
} $obj new Test1();
以上代码我们定义了一个自动加在类函数 __autoload传入参数是$classname,记住这里需传参手册里面的函数说明如下
void __autoload ( string $class )
我们需在此传入参数。我们的自动加载类函数里面输出了hellworld这个应该是没有问题的。
我们接着看我们的代码 $obj new Test1(); 在这里我们并没有写上类Test1那么我们执行以下代码看看 以上是运行结果发现自动输出了hellworld在这里只有__autoload 代码有输出了hellworld。说明我们的antoload在未调用的情况下调用了。
在这里我要说明以下我们antoload函数会在我们在加载未定义的类的时候触发而我们并没有定义Test1这个类所以在此触发了。唔这样说应该明白了 。。。。
现在我们来尝试修改成以下修改这个代码
?php
function __autoload($classname) {$classfile $classname . .php; if ( is_file($classfile) ) { require_once($classfile); }} $obj new Test1();
$obj-TestFunction();
我在函数里面接收了 classname ,并且给了后缀名然后用if判断文件是否存在如果存在那么就调用TestFunction。 那么在此我们还需要在当前目录下新建一个这个类文件文件名当然是和 classname 一样的这个 classname 就是我们的Test1在这里我们new Test1所以我们传入autoload的参数就是Test1所以我们在这里新建一个Test的php文件里面代码如下
?php
class Test1 { function TestFunction() {echo hello world;}
}
然后我们在此运行