页次: 1
ci中load_class 的模拟
首先在同一个目录下三个文件
test1.php
<?php class test1{}
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
离线
页次: 1