Conversation
|
Инкапсуляция нарушается, не? Что мешает сделать так: return ModelAndView::create()->
setModel(
Model::create()->
set('title', $this->getTitle())->
set('date', $this->getDate())->
set('author', $person)
)->
setView('path/to/tpl'); |
|
@dovg можно, но не трушно создавть (выделять память и команды VM) еще один объект модели когда он уже создан К томуже, не всегда удобно, перезатирать имещуюся модель с данными. Инкапсуляция модели? - когда она доступна и так, в рамках этого класса. Инкапсуляция начнет действовать только при переопределении в наследуемом классе. Не че не мешяет тебе переопределить методы. |
|
имхо плохая практика зачем так сжимать код? Если так дальше рассуждать, то только для того чтобы делать короткую return конструкцию можно все методы model перетаскивать в ModelAndView. Это точно не очень хорошо. |
лол. Сообществу виднее, мы же в демократию играем. Свое мнение я выразил. |
|
Так если не трушно выделять память на лишнюю модель - может сделать что б там модель не создавалась в методе __construct? А создавалась только по требованию. Что-нить вроде: public function getModel()
{
if (!$this->model) {
$this->model = Model::create();
}
return $this->model;
}Может даже такой pull request и забацаю :) |
@ewgRa встречный вопрос: зачем так плодить код ? вот перетаскивать все методы - согласен, не хорошо. @AlexeyDsov это конечно классно... при запросе getModel() получить не Модель а MоdelAndView! - забацай! ;) @AlexeyDsov и все равно это не то. |
|
@stev поправился, забацаю. Есть еще к чем придраться? |
|
Замечу, что Придераюсь не я |
|
Тут немного "зависти" у MAV к сигнатуре методов Model, но удобства это добавит, я гарантирую это!
ты ведь сам прекрасно знаешь, что модель наполняется не в одном месте в коде. |
|
@dovg хорошо заметил в "Демократию играем" |
это ты форме скажи =) повеселил. она даже #101 (comment) "изКожиВон" инстансы проверяет перед тем как вызвать методы у содержимого примитива. |
|
@pupkinV я про форму уже и не говорю, смех до абсурда |
я не вижу ничего лишнего в том коде, который существует сейчас. Ты же не собираешься каждый раз когда тебе надо обратиться к двум объектам в пределах одной цепочки вызова создавать "короткий" метод? |
|
@ewgRa Естественно не собираюсь, я понимаю о чем ты хочешь сказать, но если посмотреть на сущность ModelAndView - и на то что она не меняется (с лохматой 0.4 версии), тк она проста и самодостаточна. Исключительно для удобства. В любом другом случае ситуация будет рассматриваться по-другому. |
золотые слова. но тебе захотелось вдруг поменять. чем меньше вариантов сделать одно и то же несколькими способами - тем лучше, поддерживать проще. |
|
У кого-то оплата за строчки что ли? С чего бы ModelAndView брать на себя сеттеры модели? $mav->setModel(
$mav->getModel()->set('foo', 'bar')
)Если хочется странного сахара, создайте свой форк, сделайте там и пользуйтесь. Можно даже сделать: return $superObject->setInMavSetInModelSetInUser($foo); Такая редкая ситуация что ли? $object->getSubObject()->setProperty(), каждому объекту сверху сеттер наворачивать? |
здесь все взрослые и знают, что им делать. Давайте без этого. @anisimovt Вы, как и все "голосовавшие" против такого метода, я не вижу его сверх приоритетным, но приветствую. Думаю @stev в своем форке это уже сделал, но предлагает пользоваться всем и в этом мало противоестественного. @anisimovt > Можно даже сделать почитайте. А ведь Form такой-же своеобразный объект использующийся исключительно для наследников BasePrimitive |
|
Может добавим тогда еще dropInModel? А то тоже цепочку не составишь. И да, я буду ёрничать, потому что считаю что коэфициент полезности реквеста стремится к нулю, а обсуждение уже на несколько экранов. |
|
@ewgRa я тебя услышал больше не вижу смысла продолжать беседу по этому топику. |
|
Жаль, что тут нельзя ставить лайки к комментариям как в ФБ. ;) |
|
И кстати, какое-то странное понимание демократии. У нас вроде у кого-то есть расширенные права на этот репозиторий? Давайте всё будет почеловечески и ментейнер(ы) будет(ут) проводит модерацию пулреквестов. |
@dovg можешь к себе влить этот метод топик превращается в фаломитрию, а некоторые личности ведут себя крайне не уважительно. что касается последнего @anisimovt поясни, что иммено подразумевается "Давайте всё будет почеловечески" |
|
Я вроде бы в том же предложении сказал что именно, ментейнер должен модерировать пулреквесты. Тут не самоорганизующееся сообщество, значит требование модерации обязательно, тем более в таких мелочах, в которых и обсуждать нечего. |
VS
очень приквыкли к этому методу, воможно и другим пригодится