PHP 类的命名空间 和自动载入

Posted 马骝仔会上树

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 类的命名空间 和自动载入相关的知识,希望对你有一定的参考价值。

php 类的自动载入有两种方法,__autoload() 和 spl_autoload_register() ,就是在PHP代码中new一个类的时候,会自动触发,将类的类名包括命名空间作为参数传进入方法里,在方法里可根据命名空间和类名准确找到类文件,从而require或者inlcude进来。菜鸟一枚,作为备忘

<?php
function auto($class){
        //$class = ABE;
        /** 命名空间的自动载入 **/
        $class_path = explode("\",$class);
        $file = __DIR__ . ‘/‘ ;
        foreach($class_path as $c){
           $file .= $c . ‘/‘;
        }
        $file = rtrim($file,"/");
        $file .= ‘.php‘;
        var_dump($file);exit;
}
spl_autoload_register(‘auto‘);
use ABE;
$e = new E();
echo ‘hi‘;
/*******输出*******/
string(32) "/www/test_php_autoload/A/B/E.php"

 

以上是关于PHP 类的命名空间 和自动载入的主要内容,如果未能解决你的问题,请参考以下文章

php设计模式--命名空间与自动载入

VSCODE 片段 PHP 自动填充命名空间

浅析PHP类的自动加载和命名空间

php自动加载带命名空间类的函数

php 设计模式--准备篇

php命名空间+spl_autoload_register实现类的自动加载