
Jan
08.12.2016
22:08:50
Причем всё на ::getInstance()

Vladimir
08.12.2016
22:09:06
Ок, вот db это именно подключения к базе? Вместе с паролями и базами данных?
Или всё таки DB это просто обёртка над базой, а настройкой подключений владеет само приложение?

Jan
08.12.2016
22:10:20
Ну, пароли на проекте, конечно, и не под git

Google

Jan
08.12.2016
22:10:43
Настройка и подключение — тоже ядро.
На подпроекте только конфиги

Viktor
08.12.2016
22:10:55
Ян, на митинг, епт!

Jan
08.12.2016
22:11:03
Хуитинг)

Viktor
08.12.2016
22:11:13
Все ждут тебя :)

Jan
08.12.2016
22:13:59

Aleksandr
08.12.2016
22:15:15

Sergey
08.12.2016
22:15:52
но мне все же интересно послушать почему было написано это самое "ядро"

Jan
08.12.2016
22:15:57

Sergey
08.12.2016
22:16:14

Vladimir
08.12.2016
22:16:32

Sergey
08.12.2016
22:16:40
лучше задаться вопросом "что тебе сейчас мешает и что можно с этим сделать".

Aleksandr
08.12.2016
22:16:42

Google

Sergey
08.12.2016
22:17:06
причем именно мешает, ну то есть ты работаешь не продуктивно, боришься с ядром где-то

Jan
08.12.2016
22:18:39

Sergey
08.12.2016
22:18:59

Jan
08.12.2016
22:19:02
И избавиться от повсеместных ::getInstance()

Aleksandr
08.12.2016
22:19:08

Sergey
08.12.2016
22:19:11
возьми какой PHP-DI
и не парься
return [
Foo::class => function () {
return Foo::getInstance();
}
]
и радуйся

Vladimir
08.12.2016
22:20:55

Sergey
08.12.2016
22:21:24
$container->get(Foo::class)
и соответственно уже можно будет инджектить это куда надо, и автовайринг есть
а далее уже адаптеры, интерфейсы....
модульность
крути верти как хочешь
всеравно жизнь боль

Jan
08.12.2016
22:24:19
Боль это да)
Благодарю за наводку, очень полезно.

Sergey
08.12.2016
22:26:16
тут есть люди которые по многу API пишут?

Google

Sergey
08.12.2016
22:26:30
а то мне общаться нескем
только вон @YuraLukashik

Vladimir
08.12.2016
22:26:49
Сейчас уже увы только для себя =(

Sergey
08.12.2016
22:27:15
меня дико удручает ситуация с инструментами для PHP
все какое-то... не такое

Yura
08.12.2016
22:27:30
да норм)

Vladimir
08.12.2016
22:27:53
Я последнее время смотрю в сторону асинхронщины, и там прям печаль

Yura
08.12.2016
22:28:05
в php?
норм же

Vladimir
08.12.2016
22:28:16
В php
Не норм

Yura
08.12.2016
22:28:24
а что не норм?

Sergey
08.12.2016
22:28:57
В php
https://github.com/elazar/asynchronous-php

Vladimir
08.12.2016
22:29:16
Вот пример.
Я хочу взять из хранилища некую сущьность с данными. И для этого мне чуть ле не свлю ORM/ODM писать нужно
Что бы модель не знала где и как она храниться
Ничего готового асинхронного нет

Yura
08.12.2016
22:30:04
обычная хорошая орм мало где есть
а ты хочешь асинхронную

Vladimir
08.12.2016
22:30:30
Ну так-то доктрина меня почти всем устраивает

Google

Vladimir
08.12.2016
22:30:42
Да и доя key-value есть решения норм

Yura
08.12.2016
22:30:43
ну меня слабо

Sergey
08.12.2016
22:30:49
у меня как-то раз была безумная мысль сделать доктрину асинхронной
для этого не много надо

Yura
08.12.2016
22:31:00
драйвер есть
для базы

Sergey
08.12.2016
22:31:02
просто берешь и делаешь свой драйвер для dbal

Yura
08.12.2016
22:31:06
его ровно впилить

Vladimir
08.12.2016
22:31:08
Ха

Admin
ERROR: S client not available

Vladimir
08.12.2016
22:31:12
Не просто увы

Sergey
08.12.2016
22:31:16
почему не просто?

Yura
08.12.2016
22:31:17
довольно просто
смотря с чем сравнивать
если с нуля орм

Sergey
08.12.2016
22:31:33
саму ORM причем делать асинхронной смысла ровным счетом никакого нет.

Yura
08.12.2016
22:31:33
то просто изичка

Sergey
08.12.2016
22:31:51
асинхронным надо делать только взаимодействие с I/O
а всякие там юнит оф ворки пусть себе синхронно гоняются

Vladimir
08.12.2016
22:32:07

Google

Yura
08.12.2016
22:32:11
ну да, но из-за этого проектировать по-другому нужно

Vladimir
08.12.2016
22:32:13
Там работы ужас сколько

Yura
08.12.2016
22:32:20
уже сделано
I/O

Vladimir
08.12.2016
22:32:28
Я думал по быстрому что-то типа https://github.com/bravo3/orm/ переписать на асинхронный лад
Но это же треш

Sergey
08.12.2016
22:32:35
https://github.com/doctrine/dbal/issues/2404

Yura
08.12.2016
22:33:24
да, доктрина слишком стабильная, чтобы брать эти недавно написанные тулзы

Sergey
08.12.2016
22:34:13
но сделать свой драйвер тебе никто не мешает)

Vladimir
08.12.2016
22:34:15
Я вот честно сказать к стыду своему не в курсе как работае async драйвер mysql в php
Он на callbacks основан?
Так драйвер нужно ещё использовать правильно

Yura
08.12.2016
22:34:43
промисы есть

Sergey
08.12.2016
22:34:49
https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php
~300 строк кода

Vladimir
08.12.2016
22:35:19
Тебе промис драйвер возвращает а не значение что ты ожидаешь

Yura
08.12.2016
22:35:25
да
можно и колбеками

Sergey
08.12.2016
22:35:36
при помощи yield можно сделать так, что бы драйвер возвращал значения
но прерывал выполнение
и давал поработать кому-то еще

Vladimir
08.12.2016
22:35:49

Yura
08.12.2016
22:35:50
при помощи yield можно писать в синхронном стиле