@symfony_php

Страница 387 из 1418
Andrey
06.11.2017
08:46:02
включи логи xdebug и посмотри

Alexander
06.11.2017
08:48:22
На сервере не должно быть, внёс 9009 в ACCEPT
ты можешь сделать по инструкции для локала, но тогда пробрось тунель

типа ssh -R 9000:localhost:9000 root@айпимашиныссайтом

Andrey
06.11.2017
08:48:45
так это не локаль чтоль?

Google
Ad
06.11.2017
08:48:54
Нет, сервак снаружи

Andrey
06.11.2017
08:49:24
так не делал, только с докером & vagrant игрался

Boris
06.11.2017
08:49:35
$this->doctrine->getRepository(); тоже SL
class SomeClass { public $anotherClass; // Вот это вот DI? public function __construct(AnotherClass $class) { $anotherClass = $class; } public function someToDo($str) { // А это уже SL и не комильфо? $this->anotherClass->someToDoWithStr($str); } }

Ad
06.11.2017
08:49:50
чорт, я думал что DBGp Proxy для того и нужен, чтобы не надо было отдельный туннель пробрасывать.

У меня и путти-то нет, я как на XShell перешёл, так и забыл о ней как о страшном сне. Кстати, рекомендую, и опять же бесплатная. Мне тех же вкладок в путти оооочень не хватало. :)

Sergei
06.11.2017
08:51:18
Там дебаг на локале, согласен. Что нужно учитывать при дебаге на сервере?
Xdbug сам стучится к тебе. Нужно чтоб твой комп со штормом был доступен для того компа на котором ты дебажишь. Тоесть тебе нужен либо белый айпи на тачке либо проброс портов\порта на нее.

Alexander
06.11.2017
08:51:18
типа ssh -R 9000:localhost:9000 root@айпимашиныссайтом
это и безопаснее чем порты открывать всякие

Ad
06.11.2017
08:52:20
Ясно. Средствами чисто шторма это не сделать, я так понимаю, все равно надо путти запускать в винде, я правильно понял?

Andrey
06.11.2017
08:52:24
хз, работаю через родной ssh

Ad
06.11.2017
08:53:01
в win есть родной ssh?

Неожиданно нашёл вроде как толковый хауту на сервере бегета. https://free.beget.ru/ru/articles/xdebug

Boris
06.11.2017
08:56:48
да, манагер тебе нужен только в случае работы с транзакциями и для persist/flush
В итоге, хоть я и передал manager в конструкторе, вот эта строка все равно SL. public function listAction(): Response { $genuses = $this->doctrine->getRepository(Genus::class)->findAllPublishedOrderedByRecentlyActive(); А вот для DI я должен был в агрументе экшена передать репо и к нему уже обращатся: public function listAction(GenusRepository $genusRepository): Response { $genuses = $genusRepository->findAllPublishedOrderedByRecentlyActive();

Andrey
06.11.2017
09:00:59
либо в конструктор контроллера/класса-обработчика

Google
Andrey
06.11.2017
09:01:07
а вообще, лучше почитай теорию

Boris
06.11.2017
09:01:23
В итоге: В services.yml AppBundle\Repository\GenusRepository: factory: 'doctrine.orm.entity_manager:getRepository' arguments: ['AppBundle\Entity\Genus'] В конструкторе контроллера public function __construct(GenusRepository $genusRepository) { $this->genusRepository = $genusRepository; } В любых экшенах легко и просто получаю доступ public function listAction(): Response { $genuses = $this->genusRepository->findAllPublishedOrderedByRecentlyActive();

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

Всем спасибо за помощь.

Andrey
06.11.2017
10:28:24
Ребят, может кто опять подскажет. По доктрине (ODM). Есть документ (допустим, OrderProcess), у него embeddedOne: PurchasingOrder, у PurchasingOrder embeddedMany: PurchasingOrderItem. Все имеют bidirectional связи. item -> order, order -> transaction. При persist, где создаётся объект OrderProcess, одним скопом закидываю Order, а в Order->items. И persist. Собственно доктрина падает с ошибкой, что item -> order связь (referenceOne) не разрешена для каскадного persist. Код, который провоцирует это - https://github.com/doctrine/mongodb-odm/blob/1.1.5/lib/Doctrine/ODM/MongoDB/UnitOfWork.php#L987 Как я могу предположить по коду (и дебагу), сравнивается parent документ для parent-а (parent order = process, parent item = order), и т. к. они отличаются, идёт вызов persistNew для UoW - order. И потом падает на not marked as cascade

собственно вопрос. Как работать с такими bi-directional reference? Или делать workaround и хендлить слушателями? А писать id?

P.S. и сам clone мне сильно мешает, т. к. вызывает рекурсию (как раз из-за bidirectional). Обходом есть не клонить это свойство в "нижних" документах, а оставлять, но мне кажется это не ок

Судя по тому, что я вычитал отсюда, варианта нет. Остаются слушатели или пробовать избегать связей... https://github.com/doctrine/mongodb-odm/issues/1077

Yuriy
06.11.2017
12:25:14
всем привет установил FOSElasticaBundle но вижу компосер подтянул версию 4, а последняя из оф сайта уже 5 в чем может быть причина? P.S. загружал компосером: composer require friendsofsymfony/elastica-bundle, PHP 7.1, SF 3.2

Andrey
06.11.2017
12:26:10
https://github.com/FriendsOfSymfony/FOSElasticaBundle/releases

Yuriy
06.11.2017
12:31:37
наверное "Read the documentation for 5.0.x" речь идет о версии самого поискового движка а не бандля для симфони, понял спасибо

Dmitry
06.11.2017
12:32:46
5.0 это мастер

https://packagist.org/packages/friendsofsymfony/elastica-bundle

Sergey
06.11.2017
12:39:24
на го нынче столько софта пишут опенсорсного, что аж страно становится

Dmitry
06.11.2017
12:39:58
на js тоже много понаписали... и тоже страшно, хотя по другим причинам

Alan
06.11.2017
12:40:17
а то на пхп не страшно ))

вон редис бандл внутри страшен

Sergey
06.11.2017
12:40:42
docker, kubernetes, flannel, etcd, grafana, prometheus, terraform, vault, rkt, minicube и это только из того что я помню

Alan
06.11.2017
12:41:16
drone ci

Google
Vladislav
06.11.2017
12:42:06
drone ci крут minio.io

Sergey
06.11.2017
12:42:23
мы пока еще на дженкинсе сидим и бамбу

Alan
06.11.2017
12:42:58
дрон оч простой если с докером разобрался

Dmitry
06.11.2017
12:43:11
Alan
06.11.2017
12:43:11
ну дока там отставала одно время, щя вроде норм

snc

Sergey
06.11.2017
12:44:05
это из серверного софта

Alan
06.11.2017
12:46:47
ну koa2 хорош лечит от callback hell

Sergey
06.11.2017
12:47:03
эт фреймворки

а я за конкретный софт говорю

Bohdan
06.11.2017
12:52:04
npm и webpack - это все же обеспечение фреймворков, на самом деле, инфраструктура для них

Bohdan
06.11.2017
12:52:37
js все же не тот язык, на котором есть смысл писать тулзы аналогично названным на го

и прочим подобным

Sergey
06.11.2017
13:03:29
да вообще писать всякие инфраструктурные штуки с потреблением памяти в 10-20мб конечно подкупает

Bohdan
06.11.2017
13:08:25
я хочу еще попробовать го в качестве микросервиса и как веб-сервер, и как воркер на другой стороне rabbitmq/etc

как перестать писать комманд/ивент хендлеры и начать жить?

Dmitry
06.11.2017
13:11:59
а, ну это логично, что го на серверные утилиты насел... а то мне тут ссылку дали на МТА на руби... и сразу как-то грустно становится

Bohdan
06.11.2017
13:12:12
мта? мейл трансфер агент?

Dmitry
06.11.2017
13:12:26
угу

Google
Bohdan
06.11.2017
15:47:54
как основная логика)

Sergey
06.11.2017
15:48:14
воркеры на стороне rabbitmq не занимаются никакой логикой?

Bohdan
06.11.2017
15:48:17
го для нагрузки

Sergey
06.11.2017
15:49:02
и потом через год встанет вопрос "а нафиг нам пхп?")

Alex
06.11.2017
15:52:38
и потом через год встанет вопрос "а нафиг нам пхп?")
ну в целом нормальный вопрос, если он нафиг не нужен )

Антон
06.11.2017
15:53:38
А для каких целей целесообразен go?

Admin
ERROR: S client not available

Alex
06.11.2017
15:55:00
А для каких целей целесообразен go?
Высоконагруженные сервисы, и быстрая обработка большого количества данных пожалуй.

Антон
06.11.2017
15:56:23
Быстрая обработка большого количества данных - можно пример? Парсер какой то?

Alex
06.11.2017
15:56:32
с этим всем и jvm справляется неплохо
Не собирался холиварить по поводу go, но jvm и с вебом не плохо справляется, так зачем тогда пхп ?

Антон
06.11.2017
15:56:56
Давайте не будем про jvm.

Я конечно сам оффтоплю. Но хочу понимать когда есть смысл использовать

Alex
06.11.2017
16:03:34
Dmitriy
06.11.2017
16:05:48
попробуй найди десяток гоферов))
в го чате ~600 человек, на проект хватит ?

Sergey
06.11.2017
16:06:09
уменьшим выборку до "хороших гоферов"

и которые хотя бы умеют готовить корутины со всеми каналами и синхронизациями

Google
Sergey
06.11.2017
16:12:32
говорят мало и сложно найти

Alex
06.11.2017
16:12:46
Sergey
06.11.2017
16:13:16
те с кем я общался, которые себе ищут гоферов в команду

иногда встречаются на митапах по докеру и куберу

Dmitriy
06.11.2017
16:14:15
мы тоже искали =(

легче было самому, чем найти их

Sergey
06.11.2017
21:13:28
Daniel
06.11.2017
21:26:23
Обновляем скуп на линухах, братия

Sergey
06.11.2017
23:27:39
это как "те кто умеют в нон-локинг в плюсах/джаве?"
ну ты сравнил конечно, нон локинг алгоритмы эт не такие уж и тривиальные штуки

Sergey
06.11.2017
23:28:11
ну ты сравнил конечно, нон локинг алгоритмы эт не такие уж и тривиальные штуки
ну то есть все же корутины/каналы/барьеры это не так сложно. да?)

Sergey
06.11.2017
23:28:30
Sergey
06.11.2017
23:28:52
ну я знаю пару конторок где люди в го играют)

то что их мало... ну это как "мало толковых php-ников"

Sergey
06.11.2017
23:31:45
я просто не вижу смысла юзать го, без использования его по полной

Sergey
06.11.2017
23:32:22
в go нет
поясни мысль

Vladislav
06.11.2017
23:32:36
я не говорю о супер глубоком пониманиии как все устроено под капотом, но в целом чтобы написать вэбсокет серв не надо быть оч потным

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

го создан как раз для того чтобы изи иэнеджить такие штуки

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