@symfony_php

Страница 882 из 1418
Arky
19.04.2018
22:13:48
И меня уволили со стажировки)0

Sad but
19.04.2018
22:14:27
ну допустим для несложного реста я быстро тесты напишу да и в симфони есть свои фичи для тестов , тот же ConstraintValidatorTestCase который мне сейчас нужно разобрать

Maksim
19.04.2018
22:15:28
ConstraintValidatorTestCase нахера?)

Sad but
19.04.2018
22:15:39
И меня уволили со стажировки)0
я рискую повторить твою судьбу, очень не хочется, нравится как организована работа в компании

Google
Sad but
19.04.2018
22:15:45
ConstraintValidatorTestCase нахера?)
свой валидатор оттестить

Maksim
19.04.2018
22:16:04
свой валидатор оттестить
в плане свой валидатор оттестить?)

Sergey
19.04.2018
22:16:07
свой валидатор оттестить
попробуй его оттестить без базовых классов и т.п.

Sergey
19.04.2018
22:16:25
в плане свой валидатор оттестить?)
ну в плане свой валидатор своего констрейнта) не писал таких что-ли?

Arky
19.04.2018
22:17:18
Там самописный фреймворк был, с активрекордом в энтити менеджере)0 Фесору бы понравилось)0

Maksim
19.04.2018
22:17:23
ну в плане свой валидатор своего констрейнта) не писал таких что-ли?
да я вообще гайки на заводе кручу) много всякого говна писал, но такого не было)

Sergey
19.04.2018
22:17:27
ну это я могу
ну вот и пробуй)) ConstraintValidatorTestCase - это больше хэлпер для интеграционных тестов

Там самописный фреймворк был, с активрекордом в энтити менеджере)0 Фесору бы понравилось)0
я тайно хочу поработать с таким говном.... но не один а в команде что бы пол годика и свалить сделав что-то лучше))

поиграть в код рескью

Google
Maksim
19.04.2018
22:18:49
хотя, на старости лет вон "фреймворк" запилил)

Sad but
19.04.2018
22:19:00
ну вот и пробуй)) ConstraintValidatorTestCase - это больше хэлпер для интеграционных тестов
я на этот хелпер обратил внимание потому что во всех тестах по проекту использованы такие же хелперы

тогда добро пожаловать в BeeJee.ru
они всех подряд вроде как к себе приглашают, я ещё год назад когда работу искал получал от них приглашения на собеседование

но проигнорил ибо удалёнка мне сейчас не мила

https://github.com/symfony/validator/blob/master/Tests/Constraints/EmailValidatorTest.php

Arky
19.04.2018
22:21:04
ты дописал чатики?
А что если прикрутить центрифугу к не доделаному бекенду с поломанной пагинацией(и я уже не помню чо там было)?)0

Sergey
19.04.2018
22:21:25
я на этот хелпер обратил внимание потому что во всех тестах по проекту использованы такие же хелперы
ну тогда стоит придерживаться той тактики которая выбрана в проекте а в неурочное время почитать про разницу между интеграционными (и тут они ок) и изолированными (юнит) тестами.

Arky
19.04.2018
22:23:49
хз
Надо проверить как-нибудь. Какие щас есть модные пет проекты для джунов?

Sergey
19.04.2018
22:24:22
хз, то что мне в голову приходит больше для студента какого кто загоняется по теории компилятров

и готов тратить на это кучу времени

Arky
19.04.2018
22:25:09
теория компиляторов?

Sergey
19.04.2018
22:25:32
все никак не дойдут руки до нее)

Sergey
19.04.2018
22:25:56
довольно изощрённый выбор для джуна)
я и не говорю что это для джуна, специально ж уточнил что для студента... что бы он как минимум потом курсовой какой сделал на базе этого добра или дипломную

вот мне б эти штуки 4 года назад ....

Google
Arky
19.04.2018
22:26:15
пхп и компиляторы? наверное это не те компиляторы)0

Sergey
19.04.2018
22:26:33
когда я просиживал ночи на пролет в реализации своего интерпритатора JS на шарпах.... так бы хоть что-то полезное бы сделал

или YAML

парсеры, преобразования кода, кодогенерация

DSL отдельный жирный топик который в php вообще слабо развит

а развит он слабо потому что вообще инструментов нет.... ну то есть они то есть но их мало

Arky
19.04.2018
22:27:42
юзал

кодогенерация - это типа когда комманду вводишь и мне энтити с сетерами создается?)0

Sergey
19.04.2018
22:30:42
ну тип того... или прокси классы для ленивой инициализации свящей в сущности.... или еще чего такого

или возможность каким-то DSL описывать правила для генерации DTO

написал в файлике data class UserDTO {name: string, dateOfBirth: \DateTime}

Sergey
19.04.2018
22:31:46
а оно тебе класс с конструктором и геттерами например.... или еще чего

Arky
19.04.2018
22:32:25
Это пока мэджик для меня

А какая разница между DTO и VO?)0

вернее я понимаю что такое VO, но не понимаю что такое дто)0

Sergey
19.04.2018
22:38:22
DTO - тупая структура данных лишенная логики которая нужна что бы данные из одного слоя в другой передавать. Хороший пример применения DTO - когда ты данные запроса на какой-то тупой класс мэпишь. Можешь даже с публичными полями если хочешь.

ассоциативный массив тоже может восприниматься как DTO. Например когда ты из базы достаешь данные.

просто в php в этом случае у тебя нет возможности структуру описать и соответственно в компайлтайме убедиться что все ок

потому все делают классы явно и вот эти классы называют DTO

Google
Timur
19.04.2018
22:40:07
потому все делают классы явно и вот эти классы называют DTO
а могу я доктриновскую энтитю назвать дэтэой?

Sergey
19.04.2018
22:40:45
Dmitry
19.04.2018
22:40:53
если использовать ее как посредник между персистом и доменной сущностоью, то, наверное, можно ;)

Sergey
19.04.2018
22:41:46
именно, важный аспект - данные которые ты передаешь ты кому-то должен именно передать во владение. И сервис-менеджер - это не тот персонаж который именно владеет данными.

Timur
19.04.2018
22:42:05
если использовать ее как посредник между персистом и доменной сущностоью, то, наверное, можно ;)
а если я создаю DTO для передачи данных между формой и энтитёй? То есть передаю данные из одного DTO в другой, как это называется?

Sergey
19.04.2018
22:42:11
но это надо рассказывать в чем соль инкапсуляции, вникать в связанность и т.д. и я не в настроении

если ты любишь торт наполеон или лазанью должен понимать о чем я)

Dmitry
19.04.2018
22:45:10
а если я создаю DTO для передачи данных между формой и энтитёй? То есть передаю данные из одного DTO в другой, как это называется?
ты не можешь данные из DTO в DTO передать ;) ты можешь только сделать сервис, который примет одно DTO и выдаст другое ;) под формой ты что подразумеваешь? форму на сайте или симфоневскую форму?

Admin
ERROR: S client not available

Sergey
19.04.2018
22:47:36
ты не можешь данные из DTO в DTO передать ;) ты можешь только сделать сервис, который примет одно DTO и выдаст другое ;) под формой ты что подразумеваешь? форму на сайте или симфоневскую форму?
он больше говорит о формах как способе замэпить данные на запись в DTO которую потом можно будет сохранить в базу. Ну то есть нету 2-х DTO

это нормальный кейс когда все что надо это данные сохранить в базу без какой-либо обработки

незачем нам в такой ситуации вводить доменные модели или там слои какие-то....

как и писать бэкэнд))

Dmitry
19.04.2018
22:48:26
ну просто симфоневская форма по сути DTO и есть

наверное... хотя не... я тут понял, что никогда не использовал симфоневские формы ;)

Arky
19.04.2018
22:50:29
Как валидацию без симфони форм делать?(

Konstantin
19.04.2018
22:51:19
изящно

Dmitry
19.04.2018
22:51:34
а как валидация связана с формой? ;) ассерты отдельно, мухи отдельно ;)

Sergey
19.04.2018
22:54:02
Google
Sergey
19.04.2018
22:54:09
$validator->validate и все такое

Arky
19.04.2018
22:54:31
$validator->validate и все такое
а вроде помню что там много кода выходит

Sergey
19.04.2018
22:54:41
точнее так... оно не может быть больше чем с формами)

Arky
19.04.2018
22:54:55
а с формами все элегантней выглядит

значит я что-то делал не так)0

Timur
19.04.2018
23:08:18
Как валидацию без симфони форм делать?(
Форма не делает валидацию...себя. Она заполняет сущность, затем валидирует ее, ошибки маппит уже на свои поля. То есть ты можешь вручную ту же сущность валидировать

Sergey
19.04.2018
23:08:41
я например запросы валидирую)

валидация штука такая.... она для разных целей по разному может быть реализована

Timur
19.04.2018
23:10:25
Именно из за того, что она сначала заполняет сущность, некоторые считаю это неправильным, потому что в случае непрохождения валидации сущность остается с невалидными данными и ты ее теоретически можешь персистнуть. Поэтому некоторые предлагают использовать DTO в связке с формой, чтобы невалидные данные в случае чего оставались в нем

Borislav
19.04.2018
23:17:45
Привет! Пробую сделать загрузку файлов по инструкции https://symfony.com/doc/current/controller/upload_file.html Entity: public function getCover(): ?string { return $this->cover; } public function setCover(?string $cover): self { $this->cover = $cover; return $this; } getCover возвращает строку, соответственно PHPStorm показывает ошибку:



ЧЯДНТ?

Если cделать так: public function getCover(): { return $this->cover; } PHPStorm не подсвечивает ошибку, но при попытке отправить форму ее выдает symfony

Егор
19.04.2018
23:20:28
там же всё написано, аплоадить нужно объект UploadedFile, а ты даёшь строку

Alan
19.04.2018
23:20:44
new File($this->uploader->getTargetDirectory().'/'.$fileName) не хватает

недочитал)

Borislav
19.04.2018
23:23:40
А можете ткнуть носом где это в инструкции?

Там же вроде это в сервисе указывается

там же всё написано, аплоадить нужно объект UploadedFile, а ты даёшь строку
Так это с примера: if ($form->isSubmitted() && $form->isValid()) { $file = $product->getBrochure(); $fileName = $fileUploader->upload($file); $product->setBrochure($fileName); // ... }

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