@symfony_php

Страница 67 из 1418
Big_Shark
30.01.2017
20:28:14
PSR 6 // get item from Pool $item = $pool->getItem('key'); // get item value $value = $item->get(); // ... or change the value & store it to cache $item->set('updated-value'); $pool->save($item)

Sergey
30.01.2017
20:28:50
а, ну так да

Big_Shark
30.01.2017
20:29:52
пср16 очень был удобен с тайп хинтом, то есть можно было ворочить итемом, а использовать ключ только в одном месте

а вот пср 16 снова тупой как столб

Google
Sergey
30.01.2017
20:32:24
о кстати. кто чем ловит мемори лики?

Big_Shark
30.01.2017
20:32:36
Шо?

Sergey
30.01.2017
20:32:41
на пхп

Big_Shark
30.01.2017
20:32:49
какие еще лики?

Sergey
30.01.2017
20:32:57
ну вот скажем есть у тебя консьюмер очереди кролика

который висит неделями, и на каждую итерацию потребление памяти растет на 10кб скажем

как вычисляете места где течет память?

Taras
31.01.2017
12:38:50
блин, кажись расширение для нормальной работы с отношениями типа many-to-many-through-the-ass прийдется писать с нуля самому... ибо не существует адекватного решения.

Mikhail
31.01.2017
12:42:29
ага, только через ещё одну сущность

Taras
31.01.2017
12:43:41
и имя сией ссущности - жопа... Адд гребанный.

такое чувство, что задача, сцука, не типичная... а это самая простейшая бизнес-задача и зависимость.

при этом в ларавеле решение есть простое...

вот здесь кстати есть над чем подумать: http://stackoverflow.com/questions/26253148/dynamically-map-manytoone-relations

Google
Taras
31.01.2017
12:47:44
в oro-crm, кстати, тоже забавное решение на мегатонны кода.

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

Есть ли жизнь без ORM?

Sergey
31.01.2017
13:09:28
ну и целая куча подходов

из того что ты описал твоя проблема что задачи которые ORM не умеет решать ты пытаешься делать через ORM)

Taras
31.01.2017
13:12:56
в том-то и дело, я думаю это я делаю из мухи слона, или действительно проблема в возможностях доктрины?

Sergey
31.01.2017
13:13:44
давным давно на проекте сделал вот такую штуку, она показалась дико удобной... <?php namespace AppBundle\DependencyInjection\Traits; use Doctrine\ORM\EntityManager; trait EntityManagerTrait { /** @var EntityManager */ protected $em; /** * @param EntityManager $em * @return $this */ public function setEntityManager(EntityManager $em) { $this->em = $em; return $this; } } теперь на проекте используется 773 раза как "use" и стала раком последней стадии ?

*к теме быстрых решений на коленке

Taras
31.01.2017
13:14:42
это не быстрое решение... ) но да, то что у тебя - жестко... )

Алексей
31.01.2017
13:15:25
"Возможно Doctrine вам не нужна" :)

Taras
31.01.2017
13:15:29
какое именно?

Sergey
31.01.2017
13:15:49
https://www.youtube.com/watch?v=rzGeNYC3oz0

Алексей
31.01.2017
13:15:52
Где Marco Pivetta выступает на PHP UK

Sergey
31.01.2017
13:16:05
если не смотрел - сейчас самое время

Taras
31.01.2017
13:17:17
не, это не смотрел... спасибо, щас гляну. Хотя судя по слову best practice, к сожалению, best practice в программировании это не совместимое с business-practice )

Taras
31.01.2017
13:17:46
сейчас уже смотрю, спасибо )

Sergey
31.01.2017
13:17:47
половина доклада на тему "не юзай доктрину"

Google
Taras
31.01.2017
13:19:57
Если не доктрина то что? :(

Sergey
31.01.2017
13:20:14
dbal)

Taras
31.01.2017
13:20:31
Экак ты меня послал )))

Sergey
31.01.2017
13:20:39
http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/query-builder.html вот прям запросики строить можно

Taras
31.01.2017
13:22:25
да можно-то можно... вот чувствую что к этому все и идет...

правда как это все на entity мапить я вот еще не знаю )

я изредка скучаю по безфреймворковым временам )

ох***ное видео

Sergey
31.01.2017
13:56:30
а я что говорил

Taras
31.01.2017
13:56:36
Пасиба!

Sergey
31.01.2017
13:56:46
ну и что ты для себя нового узнал?)

Taras
31.01.2017
13:56:55
Погоди, еще не досмотрел :))

Sergey
31.01.2017
13:57:01
а ну ок

ждем

Taras
31.01.2017
13:57:14
Но уже вижу наконец-то зачем интересно DTO )

Алексей
31.01.2017
13:57:20
ну и что ты для себя нового узнал?)
1. Выкинуть доктрину. 2. Уйти в монастырь. 3. ??? 4. PROFIT

Taras
31.01.2017
13:57:33
Есть еще вопросы, если не вкурю до конца, то замучаю вопросами )))

Taras
31.01.2017
13:57:49
Не надо ее выкидывать... просто уйти от формошлепства :)

Google
Taras
31.01.2017
14:04:11
@fes0r а у тебя нету примера валидации DTO в симфони? т.е. до того как он конвертируется уже в объект? А то я кажись начинаю что-то подозревать

вот не согласен я только по отсутствию необходимости SoftDeleted

Алексей
31.01.2017
14:27:32
ЕМНИП, там речь идёт про SoftDeletable, который глубоко вгрызается в доктрину. Там не говорится о том SoftDeletable, который работает на уровне бизнес-логики.

Taras
31.01.2017
14:27:55
ЕМНИП - это чо?

Алексей
31.01.2017
14:28:05
Если Мне Не Изменяет Память.

Taras
31.01.2017
14:28:49
И там как раз говорится о том чтобы не использовать Soft Delete полностью, заменив ее к примеру на аудит или что вообще всегда существуют бекапы.

дословно.

Алексей
31.01.2017
14:29:01
Не совсем.

Admin
ERROR: S client not available

Taras
31.01.2017
14:29:38
можно пересмотреть, это примерно 37-38 минута

Алексей
31.01.2017
14:29:39
Он говорит о том, что использовать вот такой: https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/softdeleteable.md SoftDeletable - нехорошо. А ещё он намекает, что возможно у тебя не SoftDeletable, а архивация.

У нас в проекте есть SoftDeletable, но он на уровне бизнес-логики. То есть, если сделать выборку из таблицы через DQL - он вернёт все записи, если не попросить не выбирать "удалённые".

В случае SoftDeletable из расширений тебе DQL-запрос не вернёт "удалённые" записи.

Taras
31.01.2017
14:30:47
ты имеешь ввиду Gedmo\Softdeleteable?

Алексей
31.01.2017
14:31:13
Типа того. И любой аналог, который на уровне ORM делает вид, что записей нет, когда они есть.

Хотя, возможно, я его неправильно понял. Но это мне кажется более логичным.

Taras
31.01.2017
14:32:10
Видимо неправильно понял. ) Я ж говорю, при желании можешь пересмотреть 37-39 минута где-то это

Алексей
31.01.2017
14:32:22
Я смотрел.

Я не вижу противоречий в том, что он говорит и том, как я его понимаю.

У него там на слайдах написано: > Soft Deletes can usually be replaced with more specific domain concepts.

Google
Denis denya Voskoboinik
31.01.2017
14:57:04
вместо софт делита лучше перемещать все в другую таблицу)

а то как ни крути все равно везде нужно помнить про него

Алексей
31.01.2017
14:58:53
это же неявное поведение, как об этом нужно догадаться новому программисту?
По хрустальному шару. Мы выдаём при приёме на работу.

Denis denya Voskoboinik
31.01.2017
14:59:11
?

Алексей
31.01.2017
14:59:21
Всё продумано!

А вообще, если без шуток, то у нас специфика такая. Нам перемещать нельзя. У нас данные постоянно туда-сюда. Я это назвал SoftDeletable только чтобы Тарасу проще мысль понять было. Это скорее флаги неактивности.

Denis denya Voskoboinik
31.01.2017
15:01:46
ну тогда хрустальный шар не нужен)

Алексей
31.01.2017
15:02:34
Блин, а мы уже партию закупили и всем выдали...

Taras
31.01.2017
15:09:08
ну так soft-deletable это и есть по сути флаг неактивности ) Можно его статусом обозвать, или еще каким-то trash-ем

Алексей
31.01.2017
15:09:57
Вот только, я уверен, Марко говорит о том, что фильтровать по нему данные на уровне ORM не стоит. А не о том, что флаг - это плохо и надо уносить в другую базу.

То есть, в моей трактовке, если упростить совсем, то если у тебя EntityManager#remove() не удаляет из БД, а проставляет флаг удаления - это не очень хорошая мысль.

Denis denya Voskoboinik
31.01.2017
15:12:51
но ведь если у тебя никто не должен удалиться то надежнее доверить ORM а не полагаться на то что никто не удалит запросом где-то)

Алексей
31.01.2017
15:14:30
Блин, с третьей попытки распарсил :) SoftDeletable тоже как бы не помешает удалить NativeQuery, например.

Просто чуть больше дырок прикроет.

Sergey
01.02.2017
09:52:52
теги в гитхабе - огонь!

Ivan
01.02.2017
09:54:29
ммм?

вроде ничего не поменялось

о чем ты вообще?)

Mikhail
01.02.2017
09:55:42
теги, которые топики

о чем ты вообще?)
теперь репозитории можно тегировать (и они даже немножечко сами тегируются) и можно искать репы по тегам

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