php自动加载认知

1:__autoload 当我们调用一个从未定义的类时,就会加载__autoload方法,你可以使用__autoload方法加载文件

auto.php
<?php
function __autoload($className){
    $className = $className.'.php';
    if(is_file($className)){
        require_once "$className";
    }
}

person.php
<?php
require_once 'auto.php';
Data::delData();

2:spl_auto_register() 可以加载自己写的函数来覆盖__autoload()函数

auto_register.php
<?php
function load($className){
    $fileName = $className.'.php';
    if(is_file($fileName)){
        require_once "$fileName";
    }
}
spl_autoload_register('load');

person.php
<?php
//require_once 'auto.php';
require_once 'spl_auto_register.php';
Data::delData();
Data::catchData();

标签: Patterns

添加新评论