P H P  V I E T  N A M  P O R T A L
Xin chào, Khách. Vui lòng đăng nhập hoặc đăng ký tài khoản.
Bạn đã quên email kích hoạt?






     Trang chủ | Download | Tự học PHP | Kho tư liệu | Diễn đàn
Trang: [1]
  In  
Tác giảChủ đề: Cho mình hỏi chút về code của Codeigniter 1.6.1  (Đã đọc 2787 lần)
fushang
PHP Starter
*
Posts: 1


Xem hồ sơ
« on: January 06, 2010, 02:56:17 AM »

Mình tự học và có nhiều chỗ chưa hiểu. Rất mong mọi người giúp đỡ.
mình có đoạn code này (nó trong system/codeigniter/common.php của Codeigniter 1.6.1):
function &load_class($class, $instantiate = TRUE)
{
static $objects = array();

// Does the class exist? If so, we're done...
if (isset($objects[$class]))
{
return $objects[$class];
}

// If the requested class does not exist in the application/libraries
// folder we'll load the native class from the system/libraries folder.
if (file_exists(APPPATH.'libraries/'.config_item('subclass_prefix').$class.EXT))
{
require(BASEPATH.'libraries/'.$class.EXT);
require(APPPATH.'libraries/'.config_item('subclass_prefix').$class.EXT);
$is_subclass = TRUE;
}
else
{
if (file_exists(APPPATH.'libraries/'.$class.EXT))
{
require(APPPATH.'libraries/'.$class.EXT);
$is_subclass = FALSE;
}
else
{
require(BASEPATH.'libraries/'.$class.EXT);
$is_subclass = FALSE;
}
}

if ($instantiate == FALSE)
{
$objects[$class] = TRUE;
return $objects[$class];
}

if ($is_subclass == TRUE)
{
$name = config_item('subclass_prefix').$class;
$objects[$class] =& new $name();
return $objects[$class];
}

$name = ($class != 'Controller') ? 'CI_'.$class : $class;

$objects[$class] =& new $name();
return $objects[$class];
}
Cho mình hỏi:
Dấu & trước tên hàm để làm j vậy, còn ở đây nữa "$objects[$class] =& new $name()"
Còn khi báo $instantiate == FALSE tại sao nó lại ko khởi tạo new class, mà hình như là nó chưa require class thì nó trả về là trả j vậy
Nếu có ai hiểu kĩ thì nói cụ thể đoạn code này làm ntn luôn nhé. Cám ơn, đọc mãi không hiểu  Undecided
Logged
Trang: [1]
  In  
 
Chuyển sang:  

Powered by SMF 1.1.11 | SMF © 2006-2007, Simple Machines LLC . Modified by PHPVN Members