Почему модель возвращает объект? Код:class newsView
{
public function __construct($model)
{
//Это пришло из конструктора модели
var_dump($model);
}
public function listmodel() {
return 1;
}
}
class newsModel
{
public function __construct()
{
return 'Это вернула newsModel';
}
}
class My
{
public function showdata()
{
$model = new newsModel;
$view = new newsView($model);
$result = $view->listmodel();
return $result;
}
}
$obj = new My();
$res = $obj->showdata();
В ответе var_dump($model); показывает:object(newsModel)#32 (0) {
}
В чём фишка, почему не строка? И где сама фраза Это вернула newsModel?
P.S. Запустить онлайн https://goo.gl/xfuFXG и знает кто ни будь онлайн-демку получше этой убогой?

21 Авг 2019 в 07:01
157 +1
0
Ответы
1

В данном коде модель newsModel возвращает объект, а не строку, потому что конструктор класса не должен возвращать значение. Конструктор служит для инициализации объекта и может выполнять какие-то действия, но не должен возвращать какое-либо значение. Поэтому строка "Это вернула newsModel" не отображается, так как конструктор возвращает пустой объект класса newsModel.

Если вы хотите передать какие-то данные из конструктора модели во view, то лучше создать отдельные методы для этого. Например, добавить метод getData() в модель, который будет возвращать нужную информацию, и затем вызывать этот метод из контроллера.

Что касается онлайн-демки, где можно попробовать более качественные примеры кода и его исполнения, вы можете попробовать найти ресурсы для онлайн-кода или песочницы для программирования, такие как repl.it или codepen.io. Там вы сможете создавать и проверять код в браузере.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 95 047 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир