Его не нужно ничем заливать. Он изначально грязный. Я
его и разбирал. Потому и говорю про валидацию. Она вовсе тут не нужна, она должна быть отдельно. Ты приплел какие то каталоги и товары, причем они тут? ТС нужна только транспортировка, на кой ему твоя валидация? Тем более в таком извращенном виде.
Транспортный объект, либо обьект-значение (это не одно и тоже), штука весьма простая. Никакого мудрежа там не нужно. Хочешь код класса для формирования такого объекта, на тебе, раз у
brevis'а не увидел:
class MyObject
{
protected $name;
protected $description;
protected $price;
public function setName($name)
{
$this->name = $name;
}
public function setDescription($description)
{
$this->description = $description;
}
public function setPrice($price)
{
$this->price = $price;
}
public function __get($key)
{
if (!property_exists($this, $key)) {
throw new Exception('Property '. $key .' not found in '. __CLASS__);
}
return $this->$key;
}
}
Это с сеттерами. Можно конструктором разобрать массив:
class MyObject
{
protected $name;
protected $description;
protected $price;
public function __construct($data = [])
{
foreach ($data as $key => $value) {
$this->exists($key);
$this->$key = $value;
}
}
public function __get($key)
{
$this->exists($key);
return $this->$key;
}
public function exists($key)
{
if (!property_exists($this, $key)) {
throw new Exception('Property '. $key .' not found in '. __CLASS__);
}
}
}
Можно вместо конструктора использовать метод create() к примеру. Можно заюзать все три варианта в одном классе :D Как душе угодно. И что, то так сложно? А это паттерн же.
Это как раз просто, это KISS. Есть все необходимое и достаточное для дальнейшего использования в разных классах. Чего ты там намудрил, да еще с таким апломбом:
Ну вот опять... Я надеюсь ты когда-нибудь это поймешь. И тогда станет стыдно)))
В том и дело, что у тебя не продумана. И я уже показал на примере с датами.
Нет, не так. У объекта нет реализации. Реализация есть у классов, а это совсем не одно и то же.
и кому это тут надо? Да и сама конструкция - кал. Я объяснял уже. По крайней мере в данном случае точно кал.
Пока не вижу причины. На личности я не переходил, нехорошим человеком не обзывался, а что касается кода, так он объективно говно.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.