Почему модель возвращает объект?

Код:
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 и знает кто ни будь онлайн-демку получше этой убогой?
  • Вопрос задан
  • 189 просмотров
Решения вопроса 2
Decadal
@Decadal
Дело в том, что конструктор призван возвращать объект и возвращает новый объект неявно, поэтому нет смысла пытаться вернуть что-то через конструктор. Будет всегда объект
Ответ написан
Комментировать
Прочитайте php.net/manual/ru/language.oop5.decon.php

Сигнатура - void __construct ([ mixed $args [, $... ]] )

Всегда будет void, а void в данном случае это ссылка на класс
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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