-
Notifications
You must be signed in to change notification settings - Fork 52
add method setInModel #165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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
очень приквыкли к этому методу, воможно и другим пригодится