网站开发技术

记点笔记、 学点技术 欢迎交流建站技术。本站关注lamp技术

您尚未登录。

#1 2015-03-10 11:26:33

admin
管理员

ci中load_class 的模拟

ci中load_class 的模拟

首先在同一个目录下三个文件

  1. test1.php

<?php class test1{}

  1. test2.php

<?php class test2{}

3. index.php

function &load_class($class, $prefix = '') {
    // 用来存储已经加载的的类
    static $_classes = array();

    if(isset($_classes[$class])) {
        return $_classes[$class];
    }

    $name = FALSE;

    if(file_exists($class . ".php")) {
        $name = $prefix . $class ;
        require($class. ".php");
    }

    if($name === FALSE) {
        die('加载的类不存在, 也就是文件 ' .  $class .'.php 不存在' );
    }

    // is_loaded($class);
    $_classes[$class] = new $name();

    var_dump($_classes);
    return $_classes[$class];
}


load_class('test1');
load_class('test2');

打印的结果

array(1) {
  ["test1"]=>
  object(test1)#1 (0) {
  }
}
array(2) {
  ["test1"]=>
  object(test1)#1 (0) {
  }
  ["test2"]=>
  object(test2)#2 (0) {
  }
}



ipbbs.net

离线

页脚

Powered by FluxBB