@symfony_php

Страница 218 из 1418
Sergey
31.05.2017
07:50:24
Позвольте продолжить тему. Что тогда такое "умный клиент"? Почему во фронтенде нету семантики? Или я не так понял посыл?
ты заходишь на страницу и видишь форму. Ты можешь ее интерпритировать? Твой мобильный клиент может ее интерпритировать? Нет? вот об этом я и говорю

если у тебя на клиенте хардкодиться информация о сервере - значит ты не пользуешься преимуществами гипертекста

структуры данных хардкодятся в 99% случаев

а делать так что бы все было максимально гибко экономически не выгодно

Google
Sergey
31.05.2017
07:51:29
короч у меня докладик есть на эту тему

Roman
31.05.2017
07:52:52
ссылочку бы на докладик

Sergey
31.05.2017
07:54:05
https://www.youtube.com/watch?v=2nELo4fJMNQ

так себе докладик, но может будет интересно

Roman
31.05.2017
07:59:42
интересно

Boris
31.05.2017
08:36:56
так себе докладик, но может будет интересно
посмотрим, спасибо, довольно крупная контора у вас, на удаленке сидишь или он-сайт?

Max
31.05.2017
08:47:03
Спасибо. Просмотрел

Вспомнилась статья: https://habrahabr.ru/post/326080/

Boris
31.05.2017
09:24:16
а я чо-то офисы отлюбил =) все душа тянет куда-то из лесу кодить

Timur
31.05.2017
09:27:04
в прошлой жизни

Boris
31.05.2017
09:27:18
а может в будущей =)

Google
Daniel
31.05.2017
12:13:44
Вопрос по зоне ответственности

Есть сущность News, есть сущность User Пользователи создают новости, у новости может быть своё изображение, а у пользователя аватарка. Но! Задача такая: если у поста нет изображения, а у пользователя есть - мы даем аватарку пользователя как изображение к посту. Если нет и аватара пользователя, то отдаем пустую Image сущность. Вопрос - весь этот перебор можно делать в News? Типа: public function getPosterImage() { $imageVariants = [ $this->getPosterImage(), $this->getAuthor()->getAvatar(), new Image() ]; foreach ($imageVariants as $imageVariant) { if ($imageVariant) { return $imageVariant; } } }

Dmitriy
31.05.2017
12:20:00
либо вынести в отдельную сущность )

может даже в виде во..

Daniel
31.05.2017
12:20:35
ValueObject?

Dmitriy
31.05.2017
12:20:59
ага

Daniel
31.05.2017
12:29:40
Блин

Чёт котел не варит

Я кнеш понимаю как с баблом например можно было сделать: public function setMoney(MoneyValueObject $money) { $this->amount = $money->getAmount(); $this->currency = $money->getCurrency(); }

И потом: public function getMoney() { return new Money( $money->amount, new Currency($money->currency) ); }

А вот как с изображульками

Alex
31.05.2017
13:24:20
господа, подскажите, кто как в Doctrine подтягивает связанные сущности для списка сущностей? Нашел вот такое решение, насколько оно оптимальное? https://ocramius.github.io/blog/doctrine-orm-optimization-hydration/

Alex
31.05.2017
13:59:20
не, хотелось бы связанные поднимать по требованию. Т.е. типа дергает некий метод и передаем имя связей, которые хочется поднять, и список моделей, для которых нужно поднять связи

Dinar
31.05.2017
14:00:31
А как работает доктрина? Вот у меня например связанная сущность, в которой связанная сущность, и так до 5 колена. И там oneToMany и manyToMany. Он вытаскивает все что есть сразу всегда при конфигурации по умолчанию?

Dinar
31.05.2017
14:02:52
Ну при вызове он уже не JOIN использует?

То есть все по умолчанию чистая симфония с доктриной.

Steven
31.05.2017
14:03:12
Не знаете Gmail умеет отображать base64 картиночки?

Google
Dinar
31.05.2017
14:03:16
Никаких настроек ленивости не указано к полям сущности

Sergey
31.05.2017
14:10:29
Dinar
31.05.2017
14:10:57
То есть типа SELECT WHERE IN()?

Sergey
31.05.2017
14:11:28
хуже) select where id = ?

Dinar
31.05.2017
14:12:21
То есть прям 20 запросов вместо одного? :)

Sergey
31.05.2017
14:15:36
ну вот у тебя скажем есть 5 записей юзера, и у каждого юзера по 10 ордеров если ты в цикле у каждого юзера попробуешь достать ордера, у тебя будет 5 запросов к базе если обратишься только к одной записи юзера, то один запрос можешь сделать изначально выборку через джоин, тогда у тебя не будет лишних запросов, но будут лишние данные а можешь сделать обычную выборку только юзеров, а следом сделать выборку ордеров по айдихам юзеров(скажем только 3х, вместо 5), тогда у тебя будет всего 2 запроса

с one-to-one без вариантов вообще, там всегда будут блядские доп запросы идти.. о наболевшем..

Dinar
31.05.2017
14:18:58
1 to 1 то есть всегда со всем что есть тащится?

Sergey
31.05.2017
14:26:13
угу

Dinar
31.05.2017
14:26:26
Любопытненько :)

Sergey
31.05.2017
14:26:29
но вроде только если двунаправленная связь

Dinar
31.05.2017
14:26:34
В общем доктрина не всегда прекрасна :)

Dinar
31.05.2017
14:26:39
А ок.

Alex
31.05.2017
15:04:15
а обычный lazy не подходит?
получается, будут отдельные запросы на выборку каждой связанной коллекции для каждой энтити. А хотелось бы предзагрузить все связанные коллекции все сразу и разобрать по энтитям

Sergey
31.05.2017
15:04:45
тогда либо джоины, либо отдельный запрос

Alex
31.05.2017
15:06:10
3. https://ocramius.github.io/blog/doctrine-orm-optimization-hydration/

Dmitriy
31.05.2017
15:06:16
можно еще денормализировать в какой-то степени

Alex
31.05.2017
15:06:52
не, структуру менять - не труъ

Sergey
31.05.2017
15:08:17
не, структуру менять - не труъ
кто тебе такое сказал?)

Google
Alex
31.05.2017
15:10:48
кто тебе такое сказал?)
ну зачем менять структуру ради одного запроса? Как поддерживать целостность?

Sergey
31.05.2017
15:12:31
ну зачем менять структуру ради одного запроса? Как поддерживать целостность?
руками. а еще ты просто можешь отказаться от доктрины для этого запроса

Dmitriy
31.05.2017
15:12:37
тебе лучше знать.. мы же не знаем ваших кишочков

Sergey
31.05.2017
15:12:37
ну или кастомный гидратор написать

ИМХО для таких вещей где тебе надо много чего забирать и джойнить плохо подходят ORM. По сути ты только ради lazy load ее юзаешь в таких вещах

а тут ты даже этого не хочешь

Dinar
31.05.2017
15:17:12
Кстати, когда я пишу сам DQL, то он же достает ровно то, что я запросил?

Alex
31.05.2017
15:17:14
не вижу особой проблемы использовать для этого ORM, она же знает обо всех связях, нужно только указать ей, что сделать

Dinar
31.05.2017
15:17:28
А при гидрации получается все, что я не просил, в сущности будет отсутствовать?

Или будет запрашиваться при обращении новым запросом?

Admin
ERROR: S client not available

Alex
31.05.2017
15:20:26
а насчет кастомного гидратора кто может что сказать?

Sergey
31.05.2017
15:35:23
который тебе в этих запросах не нужон

или ищешь готоывй

на гитхабе есть парочка

я свой пишу, с блэкджеком

тип хочу сделать гидратор с кодогенерацией

что бы максимально быстрый и примитивный код генерило

Google
Sergey
31.05.2017
15:37:29
но это просто по фану

врядли это дорастет до прода

Jan
01.06.2017
00:03:49
Юнит-тесты контроллеров. Такого еще не было. Блджад...

Дмитрий
01.06.2017
06:30:45
вопрос по гиту, подскажите в чем проблема склонировал проект себе на комп, сделал изменения и пытаюсь сделать git push origin dkostin выдает Counting objects: 13, done. Delta compression using up to 4 threads. Compressing objects: 100% (7/7), done. Writing objects: 100% (7/7), 682 bytes | 0 bytes/s, done. Total 7 (delta 5), reused 0 (delta 0) и висит на этом

Дмитрий
01.06.2017
06:56:59
нет

Vania
01.06.2017
08:58:49
На убунту сервер постоянно говорит об ошибке записи в папку кеш, меняю права доступа к папке кое какое время работает норм потом опять права доступа сами меняются и опять ошибка, почему????

Artem
01.06.2017
09:02:29
кто-то меняет права. посмотри права созданных файлов и процессы, которые работают с этими правами

Дмитрий
01.06.2017
10:22:39
ребята, кто работал на симфони с эксельками, какой бандл используете?

https://github.com/liuggio/ExcelBundle

Дмитрий
01.06.2017
11:31:19
генерация пока нужна, позже может и парсинг но врядли

Daniel
01.06.2017
11:36:06
https://github.com/liuggio/ExcelBundle/blob/master/Resources/config/services.yml

Вся логика

Нахера целый бандл для этого подключать

Что за бред

http://symfony.com/doc/current/setup/file_permissions.html

Lezhnev
01.06.2017
11:41:57
mk-j/php_xlsxwriter

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