Свободное общение | Разработка движка
Всем добра. Решил свой двиг перенести на mvc. Я в нем пока нубас совсем. Так норм, или дичь?
Пример 1
Пример 2
Пример 3
Пример 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 , ну так покажи свой не говно-код. Сравним.
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 , не совсем понимаю что ты имеешь ввиду. Типа на каждый вид городить еще один наследуемый класс для определения логики, а от него уже наследовать главный класс с обработкой?
monobogdan , не совсем понимаю что ты имеешь ввиду. Типа на каждый вид городить еще один наследуемый класс для определения логики, а от него уже наследовать главный класс с обработкой?
Нет, я имею ввиду что твоя реализация View зависит от шаблонизатора и может быть недостаточно гибкой для некоторых кейсов. Унаследуй от View свой дженерик вью(как в примере выше) и наследуй обычные страницы уже от него. Если потребуется особая логика отрисовки - унаследуешься от базового View.
________
посл. ред. 29.04.2019 в 20:12; всего 1 раз(а); by monobogdan