Codeigniter: Fungsi Helper Cek Model yang Telah di-Load

Ini hanya fungsi helper untuk mengecek apakah sebuah Model telah di-load atau belum. Saya googling sebelumnya kok ga ada fungsi seperti ini, apakah berkaitan dengan security? Memang agak meng-oprek bagian fungsi private sih. Yang jelas saya perlu fungsi seperti ini. Ya mudah-mudahan juga berguna buat yang lain.

Saya sudah coba beberapa cara, untuk mengambil content private. Tapi kok susah untuk dikondisikan ya? Bagian di bawah ini seharusnya ga perlu pake subtr segala, tapi mungkin karena private kali ya?

if ($key == "*_ci_models")
if (substr(trim($key), 2, 50) == "_ci_models")

Tapi akhirnya, setelah trial and error hasilnya sih ok. Helper ini return-nya TRUE kalo model di-load, FALSE sebaliknya.

Saya pikir ini bukan best prectice-nya kalau ada yang punya jalan lain mohon post di comment. Terima kasih.

function is_model_loaded($model)
{
	$ci =& get_instance();		
	$load_arr = (array) $ci->load;

	$mod_arr = array();
	foreach ($load_arr as $key => $value)
	{
		if (substr(trim($key), 2, 50) == "_ci_models")
			$mod_arr = $value;
	}
	//print_r($mod_arr);die;

	if (in_array($model, $mod_arr))
		return TRUE;

	return FALSE;
}

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan.