Есть функция для вызова моделей из внутри контроллера:
class Controller
{
// connect models
protected function model($model_name) {
// check if model is exist
if (file_exists('models/'.$model_name.'.php')) {
require_once('models/'.$model_name.'.php');
return new $model_name();
} else {
// return nothing if model dosent exist
return false;
}
}
}
Вызывается кодом - $this->model('model_name'); Но проблема в том, что то, что находится внутри модели, которой мы вызываем этой фнукицей - срабатывает 2 раза. То есть например если в модели есть функция - getProducts() - оно выполнит её по умолчанию, как только мы подключим эту модель, не зависимо нужна ли нам эта функция сейчас или нет. Как настроить вызов моделей, чтобы выполнять функции только там где они нужны? Например если вот таким способом выполнять функцию из модели -
$products = $this->model('products');
$products->getProducts($param);
echo $products;