合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## spl_autoload_register 作用演示 ![](https://img.kancloud.cn/51/28/512853ff3d3e6f67c0c1fbea501ace68_791x224.png) ![](https://img.kancloud.cn/e4/3c/e43c3e7c38567db72e6b0c33d5ddd53b_377x61.png) `spl_autoload_register`: 如果类找不到,将会调用此函数。 可以看到,他调用了`spl_autoload_register` 函数。 ## 其他语言 `go` `python` `js`...... 那些,天天 `import`。 累不累? 果然 `php` 是世界上最好... ## 自己实现自动加载 ``` spl_autoload_register(function($class){ // $class 是App\User $psr4 = [ "App" => "app" ]; $suffix = '.php'; // 后缀 foreach($psr4 as $name => $value) // 如果是psr4替换 $class = str_replace($name,$value,$class); // $class 现在是 app\User include($class . $suffix); }); ``` ![](https://img.kancloud.cn/85/2a/852afb3e3b890d76318501f526c607b2_1113x508.png) ## 结尾 `php` 自动加载 = `spl_autoload_register` + `include`。 推荐用 `composer` 官方 `自动加载`,自己实现: 毕竟是野路子,没有那么完善。 用官方很简单,官方的`autoload.php`已实现了 `自动加载` ,都是一样的原理。 ``` require __DIR__.'/../vendor/autoload.php' ```