美文网首页工作生活
php 对象自动加载

php 对象自动加载

作者: gsunneverdie | 来源:发表于2019-06-30 17:15 被阅读0次
namespace App;


class Think
{
    public static function start() {
        spl_autoload_register('App\Think::autoload');
    }

    public static function autoload($class) {
        // App => src
        $class = str_replace('App', 'src', $class);
        $namespace = '';
        $className = '';
        if (false !== $lastNsPos = strripos($class, "\\")) { // 从后倒数'\\'的位置
            $namespace = substr($class, 0, $lastNsPos); // 分割出命名空间
            $className = substr($class, $lastNsPos + 1); // 分割出类名
        }
        $namespace = str_replace("\\", DIRECTORY_SEPARATOR, $namespace);
        $fullFileName = $namespace . DIRECTORY_SEPARATOR . $className . '.php'; // 组合成php后缀文件

        if (file_exists($fullFileName)) {
            echo '<br>自动加载<br>';
            echo $fullFileName . "<br>";
            require $fullFileName; // 加载文件
        } else {
            echo 'Class "'.$className.'" does not exist.';
        }
    }
}
流程
  • new App\\xxx\\XXXClass中分割出命名空间类名
  • 添加.php组成文件形式
  • 使用requrie *加载文件

相关文章

  • php 对象自动加载

    流程 从new App\\xxx\\XXXClass中分割出命名空间与类名 添加.php组成文件形式 使用requ...

  • 自己编写PHP框架需要考虑的部分

    1. MVC2. 自动加载: PHP: 自动加载类;3. 错误处理:http://php.net/manual/z...

  • Laravel5.4 启动探索

    index.php 入口文件 自动加载初窥 自动加载最主要代码(来自vendor/composer目录下的自动加载...

  • Yii2 PHP框架

    自动加载函数 Yii2 PHP框架学习记录--自动加载函数 常量 Yii2 PHP框架学习记录-常量 $_SERV...

  • PHP 使用总结

    自动类加载 (auto-load) 自动类加载说白了就是自动 include / require php 文件,这...

  • PHP 懒加载哪些事儿

    PHP自动加载 此篇文章主要介绍加载的php类的方式,以及自动加载的几种模式;题外话:大家空了可以多看看别人写的框...

  • Laravel源码之自动加载

    自动加载文件加载流程: 1)public/index.php中定义需要包含的autoload.php 2)auto...

  • PHP OOP小结

    PHP面向对象 继承 设计一个MySQL数据库操作类 抽象类,抽象方法 接口 interface 类的自动加载

  • PHP Composer详解

    PHP composer php composer的作用 composer是如何实现类的自动加载 composer...

  • PHP面向对象之类的自动加载

    类的自动加载 含义: 当某行代码需要一个类的时候,php的内部机制可以做到“自动加载该类文件”,以满足该行需要一个...

网友评论

    本文标题:php 对象自动加载

    本文链接:https://www.haomeiwen.com/subject/nwpbcctx.html