@symfony_php

Страница 828 из 1418
Chupa
08.04.2018
14:36:17
Я как маконенавистик также добавлю, что полгода работал на маке и постоянно что-то отваливалось

если опять придется на нем работать, только через docker буду

Dmitry
08.04.2018
14:37:15
можно просто виртуалку поставить как бы

Chupa
08.04.2018
14:37:33
я пытался vagrant использовать, но очень медленно работало все

Google
Вадим Натаркин
08.04.2018
14:37:56
что с port mapping понятно? nginx-proxy и т.п. и тебе не нужен port mapping как таковой. по поводу mounded volumes - NFS или docker-sync
по поводу port mapping, если серверу нужно контроллировать все порты используют bridge, на маке это практически не возможно особенно в новых версиях докера, bridge режим только на linux. Спасибо, по поводу nfs и docker-sync хотел услышать коммент. я использовал более скоростное решение это Unison как более быструю файловую систему, очень быстро работает но постоянно docker-compose нужно свой писать networks: default: driver: bridge ipam: driver: default config: - subnet: 172.31.1.0/24 internal: driver: bridge ipam: driver: default config: - subnet: 172.31.2.0/24

Chupa
08.04.2018
14:37:58
а так пару раз были случаи, когда приходя на работу полдня пытался понять что сломалось и как починить

Dmitry
08.04.2018
14:39:23
если медленно, скорее всего причина в диске, можно эксперементировать вплоть до nfs

а сравнивал кто докер с виртуалбоксом и докер с Hyperkit-ом на маке по производительности?

Вадим Натаркин
08.04.2018
14:45:31
круто

Vladislav
08.04.2018
14:48:35
Вадим Натаркин
08.04.2018
14:48:53
docker-sync использует unison
точно, вот я его и использовал, и писал под себя yml файлы. запуская docker-compose -f my-config.yml все потому что на prod и windows этот unison не нужен

Вадим Натаркин
08.04.2018
14:49:27
я искал что-то по проще

Sergey
08.04.2018
14:49:39
docker-compose -f docker-compose.yml -f docker-compose.osx.yml

Google
Sergey
08.04.2018
14:50:05
NFS и терпимая производительность зато попроще

да и думаю с того времени как ты docker-sync юзал у них схема чуть поменялась (за счет native osx файловой системы)

ну короч не могу сказать что это "сложно"

Вадим Натаркин
08.04.2018
14:53:41
понятно

а сравнивал кто докер с виртуалбоксом и докер с Hyperkit-ом на маке по производительности?
это вообще не критично, я говорил о больших проектах где из-за volumes страница открывается по 10 секунд против 70мс в нормальном контейнере с быстрой синхронизацией

Максим
08.04.2018
14:58:53
Как из ChoiceType сделать вид Radio-Buttons?

$builder->add('state', ChoiceType::class, array('placeholder' => 'Состояние', 'choices' => [ 'Offline' => 'Offline', 'Online' => 'Online' ] ));

Что бы он не как SELECT выводил, а как кнопки

Sergey
08.04.2018
15:00:32
multiple => true

Максим
08.04.2018
15:04:28
$builder->add('state', ChoiceType::class, array('placeholder' => 'Состояние', 'choices' => [ 'Offline' => 'Offline', 'Online' => 'Online' ], 'multiple' => true ));

Что то не получается)

Почитал в инете. Норм инфы не смог найти

Sergey
08.04.2018
15:05:13
expanded => true тож допиши

Максим
08.04.2018
15:06:43
Andrew
08.04.2018
16:44:14
Как из ChoiceType сделать вид Radio-Buttons?
Так я ж тебе ночью и линк на доку кидал и отвечал. Не заметил, чтоле?

Максим
08.04.2018
16:45:36
Так я ж тебе ночью и линк на доку кидал и отвечал. Не заметил, чтоле?
Да! Спасибо тебе)) Просто немного не мог разобраться . Там примеров не было в статье! Уже всё понял как работает))

Urmat
08.04.2018
16:53:03
Парни, а можно $form->handleRequest( $request ); вызвать без валидации? Смысл данной задачи в том, что на контроллер попадает форма из двух точек. В первой генерируется часть данных формы и предлагается дозаполнить, А вторая точка это как раз где пользователь дополняет эту форму

Елнур
08.04.2018
16:54:02
http://symfony.com/doc/current/form/disabling_validation.html

Urmat
08.04.2018
16:54:03
Но когда пользователь попадает на страницу, где вызывается $form->handleRequest( $request ); срабатывает валидация и он видит ошибки валидации

Елнур
08.04.2018
16:54:17
Google
Елнур
08.04.2018
16:55:16
или вот здесь пример с callback https://stackoverflow.com/questions/17104501/skip-validation-if-sibling-checkbox-field-contains-false

Urmat
08.04.2018
16:57:59
Что то вроде этого?
Я попробовал вот так: $form = $this->createForm( ReservationFormType::class, $this->buildReservationForm( $request ), [ 'validation_groups' => false, ] ); $form->handleRequest( $request ); Только не кидайтесь тапками, оно все равно не сработало

или вот здесь пример с callback https://stackoverflow.com/questions/17104501/skip-validation-if-sibling-checkbox-field-contains-false
Странно, чет не сработало. Я думаю, что это из-за того, что "validation_groups" не сказывается на дочерних классах. Пойду копать

Bohdan
08.04.2018
19:26:05
volumes: - ../:/projectname:cached делаю
а разработке не мешает?

Pavel
08.04.2018
19:26:49
а разработке не мешает?
нет, наоборот все быстрее

Bohdan
08.04.2018
19:27:20
нет, наоборот все быстрее
хм... а как же кеш? или я его не так понимаю?

Pavel
08.04.2018
19:27:59
хм... а как же кеш? или я его не так понимаю?
я хз, сам не вникал, но без cached ооооченьь медленно пагет

Вадим Натаркин
08.04.2018
19:28:50
volumes: - ../:/projectname:cached делаю
Что-то новенькое. попробую

Vlad
08.04.2018
19:55:01
а разработке не мешает?
уже месяца 3-4 как можно юзать. ~ в 3 раза быстрее респонс, чем без флага. проблем пока не было

Anton
08.04.2018
21:34:37
Всем дратути, может кто видел какую-то реализацию такой беды - нужно, чтоб пользователь мог настраивать результат выборки сущностей (всякие бетвины, больше, меньше, и/или). Изначально подумал про конвертер экспрешн ленгвидж выражений в доктриновские критерии, но как-то это попахивает костыльным велосипедом - может, уже что придумали?

Ilya
08.04.2018
21:39:40
придумываешь свой синтаксис запроса, создаешь классы для пхп, пилишь парсер из своего синтаксиса в пхп объекты и конвектор в доктрину

можешь у меня в репе посмотреть, недавно пилил ебалу по типу

Anton
08.04.2018
21:45:20
А можно ссылку? Вообще, запилить можно и с нуля, но если уже есть какие-то новые решения, то можно их заюзать, или хотя бы вдохновиться

*готовые, чертов т9

Ilya
08.04.2018
21:46:54
а тебе для каких нужд, если не секрет?)

Google
Anton
08.04.2018
21:56:31
php eval топ
Смищно

Vladislav
08.04.2018
21:56:45
та не)

Ilya
08.04.2018
21:58:17
карочи на это тестовое к одним ребятам. и если ты выполняешь именно его, то знай, что они уебки)

https://github.com/ElijahKaftanov/user-filter

Anton
08.04.2018
21:58:39
а тебе для каких нужд, если не секрет?)
Не секрет, конечно) В админке для акционного товара понадобилось, чтоб под каждую акцию не писать сервис/метод в репозитории, а дать возможность контент-менеджеру самому условия натыкивать

Спасибо, будем посмотреть)

когда уже в пхп дженерики завезут?

Timur
08.04.2018
23:25:04
когда уже в пхп дженерики завезут?
зачем? Типизация же не строгая

Anton
08.04.2018
23:28:20
как вариант, чтоб при использовании стандартных методов из доктриновского репозитория иметь нормальный тайпхинтинг, а не жонглировать вкладками в ide, ну и как бонус - не плодить кучу классов из серии UserCollection, ProductCollection, а заюзать Collection<User>

Timur
08.04.2018
23:36:11
как вариант, чтоб при использовании стандартных методов из доктриновского репозитория иметь нормальный тайпхинтинг, а не жонглировать вкладками в ide, ну и как бонус - не плодить кучу классов из серии UserCollection, ProductCollection, а заюзать Collection<User>
Опять же, в PHP типизация нестрогая, а дженерики завязаны на типах. В ПХП это какие-то недодженерики получатся. По сути, они итак есть, раз мы можем разные объекты сохранять в один массив, просто нет никаких проверок. Что же, добавлять дженерики просто как синтаксический сахар?

Разве цель дженериков не дать нам возможность хранить экземпляры разных классов в одной коллекции? Так в пхп это итак можно

Anton
08.04.2018
23:38:23
некорректно выразился, конечно кроме тайпхинтинга еще ошибки должны быть при попытке запихнуть в такую коллекцию невалидный объект, и юзать дженерики никто не заставлят (как и ретурн тайпы) - все на совести клиента-разработчика

Разве цель дженериков не дать нам возможность хранить экземпляры разных классов в одной коллекции? Так в пхп это итак можно
поправьте, если я не прав, но насколько я понял, дженерики как-раз таки и нужны для сужения количества типов в коллекции (и естественно не только в коллекции)

Timur
09.04.2018
00:01:31
Dmitry
09.04.2018
00:27:36
Timur
09.04.2018
00:28:22
я не, не понимаю... что такое сильная типизация? ;)
Ну ладно, иди учи тогда, что такое сильная типизация

Dmitry
09.04.2018
00:31:09
может научишь? или только в чатике выпендриваться можешь? ;)

Ну ладно, иди учи тогда, что такое сильная типизация
А то читаю, вот, википедию, In 1974, Liskov and Zilles defined a strongly-typed language as one in which "whenever an object is passed from a calling function to a called function, its type must be compatible with the type declared in the called function." - и не понимаю, почему PHP с хинтами на параметры и strict типами не подходит. Расскажешь?

Google
Sergey
09.04.2018
06:01:21
поскольку определение "сильной" типизации весьма расплывчато, можно сказать, что вполне себе сильная типизация в пхп
в чем расплывчатость? "сильная" это когда кастов типов нет в рантайме, когда операциям нужны совместимые типы

когда операция "foo" + 123 кинет ошибку

p.s. php, как и Си или Java - языки со слабой типизацией

ну и другой пример

interface Transformer<T> { public function transform(T $data): array; }

либо interface Validator<ValidationRule, Data> { validate(Data $data, ValidationRule $rule); }

коллекции - постольку поскольку

ну и слабая или там сильная система типов, это все довольно второстепенно в этом контексте. Да и strict_types было введено в php именно для того что бы предоставить мягкий переход к более сильной системе типов... не знаю смогут ли они к 8-ой или 9-ой версии php сделать полный переход на сильную систему типов, но я не доживу наверное

Konstantin
09.04.2018
07:01:01
батя скинь по вотерам ченить почитать грамотное только плиз не офф доку )

оф доку прочитал но как организовать всеравно не совсем понял

Sergey
09.04.2018
07:03:55
в питоне никто не пытается страдать такой глупостью как проверка типов в рантайме, там просто сильная система типов не допускающая кастов. Там все четко.

Bohdan
09.04.2018
07:04:17
Почему в питоне никто не пытается, а в ПХП очень надо? :)
пытаются, mypy, всякое такое ну и есть там один тролль, который постоянно набрасывает по этому поводу

Sergey
09.04.2018
07:05:34
имхо оптимальный вариант, не сложно но и не так убого как в php

Dinar
09.04.2018
07:05:58
Но без дженериков.

Страница 828 из 1418