Задать вопрос
@iCount

Каждый контроллер имел свой рабочий View?

Всем привет. Такой вопрос. В конструкторе ксласса Controller создаю объект View. В последствии все контроллеры наследуются от класса Controller. В View подключаю шаблон и слой. Суть вопроса в том что объект View создаётся в каждом контроллере свой, но он не работает как нужно. То есть если просмотреть в вар дампе показывает в контроллере, то что надо. Но сам View пустой, никаие свойсва объекта не передались.
Код можно посмотреть https://github.com/iCount/rebicycle/tree/master/base
Как сделать что бы каждый контроллер имел свой рабочий View
Заранее благодарю за помошь
  • Вопрос задан
  • 321 просмотр
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
Тут ошибка, интерфейс подразумевает, что в параметрах будет передано представление, что и делается в контроллере
Ответ написан
Комментировать
Что и почему именно у вас не работает, глубоко не разбирался.
Но сразу бросилось в глаза:
abstract class Controller implements ControllerInterface
{
    protected $view;
    public function __construct($layout = "main"){
        $this->view = new View();
        $this->view->setLayout($layout);
    }
...
}

class View implements ViewInterface
{
...
    public function setLayout()
    {
...

interface ViewInterface
{
    public function setLayout($layout);
}

Вообще у вас там очень много косяков. Я бы советовал попробовать поковырять современные микрофреймворки.
Если же хотите продолжать свой велосипед. то начните с ознакомления с PSR и возьмите композер.
Ответ написан
Комментировать
DarkRaven
@DarkRaven
разработка программного обеспечения
Но сам View пустой, никаие свойсва объекта не передались.

А как вы туда передавали свойства то? Еще момент, у вас view какой-то ограниченный, что-ли.
Посмотрите вот тут - https://github.com/alexkuznetsov/nstu/tree/master/... , я там как раз баловался с MVC, когда-то давно-давно. Роутера, конечно, нет - но в целом суть сохранена.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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