Я думаю, что вы поступаете неправильно, вам не следует выполнять запросы к базе данных от вашего контроллера.
это означает, что приведенное ниже недействительно.
class ControllerIndex extends Controller
{
public function index()
{
$this->db->selectAll("table");
}
}
Тамдолжен быть слой, который отделяет ваш контроллер от интерфейса вашей базы данных, вот куда входит модель.
У вас должна быть папка моделей, содержащая классы для таких действий, как пользователи, публикации, ведение журнала и т. д.
class Users_Model extends Model
{
public function getUser($id)
{
}
}
Класс модели должен быть частью ядра вашей системы и должен расширять ваш класс базы данных. Таким образом, в главном контроллере вы должны загружать модели через класс ModelLoader.
, например,:
class ModelLoader
{
private $models = array();
public function __get($model)
{
//load (/application/models/?.php) and initiate it here
//Storing it in models array above
}
}
Затем в вашем главном контроллере:
class Controller
{
private $model;
public function __construct()
{
$this->model = new ModelLoader;
}
}
таким образом вы переводите ваш загрузчик в область действия дочернего контроллера:
class Controller_index extends Controller
{
public function index()
{
$user = $this->model->users->getUser(22);
}
}
Надеюсь, это поможет!