Loading...
Свободное общение | Разработка движка
Всем добра. Решил свой двиг перенести на mvc. Я в нем пока нубас совсем. Так норм, или дичь?
Пример 1
Пример 2
Пример 3
Говно-код.
Это не совсем MVC в классическом понимании, MVC - это когда производные
страницы могут определять свою логику и вид.

<?php

abstract class BaseView
{
public abstract function process();
}

...

class MyView extends BaseView
{
public function process()
{
Engine::getEngine()->render("test.tpl");
}
}
monobogdan , ну с видами я решил так замутить, ибо как по мне так удобнее. Контроллеры у меня сделаны по сути так как ты написал. И модельки тоже наследуются от главной.
Dj Marshmallow , ну так покажи свой не говно-код. Сравним.
CyberShot (29.04.2019 в 19:58)
Dj Marshmallow , ну так покажи свой не говно-код. Сравним.

Так я те и показал, с тырить не дам. Гг
monobogdan ,
MVC - это когда производные
страницы могут определять свою логику и вид.

Так у меня так и есть по сути.
CyberShot , твой подход может быть неудобным, если потребуется определять полностью свою логику рендеринга страницы и придётся делать костыли. Лучше сделать так:
<?php
abstract class View
{
public abstract function process();
}

abstract class GenericView extends View
{
public function process()
{
$this->tpl->render($this->getTemplate());
}

public abstract function getTemplate();
}

...

final class MyView extends GenericView
{
public function getTemplate()
{
return "view.tpl";
}
}
monobogdan , не совсем понимаю что ты имеешь ввиду. Типа на каждый вид городить еще один наследуемый класс для определения логики, а от него уже наследовать главный класс с обработкой?
CyberShot (29.04.2019 в 20:08)
monobogdan , не совсем понимаю что ты имеешь ввиду. Типа на каждый вид городить еще один наследуемый класс для определения логики, а от него уже наследовать главный класс с обработкой?

Нет, я имею ввиду что твоя реализация View зависит от шаблонизатора и может быть недостаточно гибкой для некоторых кейсов. Унаследуй от View свой дженерик вью(как в примере выше) и наследуй обычные страницы уже от него. Если потребуется особая логика отрисовки - унаследуешься от базового View.
________
посл. ред. 29.04.2019 в 20:12; всего 1 раз(а); by monobogdan
Онлайн: 9
Время:
Gen. 0.1468
(c) Bym.Guru 2010-2026