Задать вопрос
@danilovevgen
веб разработчик

MVC PHP как сделать правильный запрос к моделям?

Есть функция для вызова моделей из внутри контроллера:
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;
  • Вопрос задан
  • 219 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@dev400
лично я юзаю модель(use Common\Model;), создаю объект модели в классе родителе базового контроллера(записываю в свойство) ну и конечно пользуюсь spl_autoload_register
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы