Для моделей вы можете сделать это:
$models = array(
'menu_model' => 'mmodel',
'user_model' => 'umodel',
'admin_model' => 'amodel',
);
foreach ($models as $file => $object_name)
{
$this->load->model($file, $object_name);
}
Но, как уже упоминалось, вы можете создать файл application/core/MY_Loader.php
и написать свой собственный метод загрузки моделей.Я думаю, что это может работать (не проверено):
class MY_Loader extends CI_Loader {
function model($model, $name = '', $db_conn = FALSE)
{
if (is_array($model))
{
foreach ($model as $file => $object_name)
{
// Linear array was passed, be backwards compatible.
// CI already allows loading models as arrays, but does
// not accept the model name param, just the file name
if ( ! is_string($file))
{
$file = $object_name;
$object_name = NULL;
}
parent::model($file, $object_name);
}
return;
}
// Call the default method otherwise
parent::model($model, $name, $db_conn);
}
}
Использование с нашей переменной сверху:
$this->load->model($models);
Вы также можете разрешить передачу отдельного соединения с БД в массиве,но тогда вам понадобится многомерный массив, а не тот, который мы использовали.В любом случае, это не слишком часто вам нужно.