причем тут MVC? я вам говорил про MVC? Нет. Я говорил про расширяемость и гибкость, максимум про ООП.
Без примеров не обойтись, что бы вас убедить.
<?php
final class Core
{
static public function init()
{
}
}
Core::init();
class CoreDefault
{
protected $config;
protected $env;
public function __construct()
{
$this->config = $this->initConfig();
$this->env = $this->initEnv();
throw $this->getException();
}
protected function initConfig()
{
return new CoreConfig;
}
protected function initEnv()
{
return new CoreEnv;
}
protected function getException()
{
return new Exception($message, $code, $previous);
}
}
$core = new CoreDefault;
class CustomCore extends CoreDefault
{
protected function getException()
{
return new CustomCoreException;
}
}
$core = new CustomCore;
Очевидно, что второй вариант гибче и при том не сложнее первого, а может даже и легче из-за того, что объект разделен на объекты, каждый из которых решает свою маленькую задачу.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации