入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

include 和 use 区别

创建时间:2018-02-24 投稿人: 浏览次数:173

Include 为new类时 需要引用 类似赋值到当前页面 的代码


Use 为 导入类的命名空间 方便 new的适合更简短输入类名


new 未include的类时 启动 spl_autoload_register 将类名作为参数 传入 进行include


spl_autoload_register(function ($class) { // class = osLinux


    /* 限定类名路径映射 */

    $class_map = array(

        // 限定类名 => 文件路径

        "os\Linux" => "./Linux.php",         使用一个数组去保存类名与文件路径的关系,当类名传入时,就知道该引入哪个文件去加载这个类

    );


    /* 根据类名确定文件名 */

    $file = $class_map[$class];


    /* 引入相关文件 */

    if (file_exists($file)) {

        include $file;

    }

});


new osLinux();



但是一旦文件多起来的话,映射数组会变得很长,这样的话维护起来会相当麻烦。如果命名能遵守统一的约定,就可以让自动加载器自动解析判断类文件所在的路径。


PSR-4 是关于由文件路径自动载入对应类的相关规范,规范规定了一个完全限定类名需要具有以下结构:

<顶级命名空间>(<子命名空间>)*<类名>

参考http://www.cnblogs.com/woider/


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
未上传头像