Dmitriy
28.10.2018
06:16:33
вот это
Boris
28.10.2018
06:18:28
ага понял, аналог ларавелевского реквеста с валидацией , просто слово resolver почему-то бросается в глаза мне сильно
Dmitriy
28.10.2018
06:34:16
мэпинг реквеста на дто
Boris
28.10.2018
06:38:13
ну почему builder или mapper или еще что , а именно resolver =)
Google
Dmitriy
28.10.2018
06:44:30
потому что аргумент ресолвер
https://symfony.com/doc/current/controller/argument_value_resolver.html
Vladislav
28.10.2018
07:34:21
Boris
28.10.2018
07:52:05
если из входящих парамов условоно array ты строишь dto или мапишь данные из массива на объект, вот там и увидел, что он резолвит , не пойму , точнее что “решает” или разрешает =)
Maksim
28.10.2018
07:55:32
но в чём профит при вызове явно его вызывать, моя не очень понимать. find usage спешит на помощь)
Boris
28.10.2018
08:01:13
magic методы же многие люто ненавидят
Maksim
28.10.2018
08:01:45
есть разница между __set и __invoke.
Boris
28.10.2018
08:02:01
само собой, они даже пишутся по-разному ))
Maksim
28.10.2018
08:02:19
__debugInfo тоже магический метод, но назови мне хоть 1 причину его не любить)
Boris
28.10.2018
08:02:53
ну отладка и жизненный цикл это ка кбы 2 большие разницы
Maksim
28.10.2018
08:03:17
как там жизненный цикл с инвоуками ломается?)
Boris
28.10.2018
08:04:45
в чем их профит?
Google
Boris
28.10.2018
08:05:50
почему не статик метод, к примеру
Maksim
28.10.2018
08:06:31
эм, а где связь между invoke и static методом?
Boris
28.10.2018
08:08:00
$obj = new CallableClass;
$obj(5); VS CallableClass::dosmth(5)
в чем пофит инвока?
мне просто для себя интересно
Valentin
28.10.2018
08:08:52
в чем пофит инвока?
В том что у него будет доступ к стейту, а статик можно вызвать без экземпляра класса и стейта может не быть?
Admin
Boris
28.10.2018
08:09:31
ок в чем профит тогда перед обычным методом, не статиком
просто инвоком не пользовался со времен зенда 1 =)
Valentin
28.10.2018
08:12:27
Профит от обычного метода в ненадобности держать в памяти его название, просто есть например $allUsersQuery = new UsersQuery();
И вызываешь просто $allUsersQuery() а не пытаешься вспомнить типа getQuery() или getResult() или getUsers() или как там ещё могли его назвать
Но честно так себе повод
Можно вынести в интерфейс не invoke а какой то results() к просто везде юзать этот метод вместо invoke
Maksim
28.10.2018
08:14:25
у тебя инвоук по факту ни чем не отличается от вызова обычного метода (не статического)
Boris
28.10.2018
08:15:01
Maksim
28.10.2018
08:15:56
не совсем вкуса. У тебя есть объект, суть которого выполнить 1 единственное действие. инвоук подходит
Boris
28.10.2018
08:16:37
ну инвоук придется описать точно так же как doSomething()
Maksim
28.10.2018
08:16:57
придётся