@symfony_php

Страница 316 из 1418
Dmitriy
05.10.2017
15:42:17
зачем он

Алексей
05.10.2017
15:42:48
Там, помнится, кто-то хотел впилить в composer установку расширений из PECL.

Salavat
05.10.2017
15:42:54
Зачем сфинксу pecl ?

mysqli / pdo_mysql есть же

Google
Salavat
05.10.2017
15:44:56
Ну и sphinx в пекле - для PHP 6--

Sergey
05.10.2017
15:45:43
пхп 6))

Salavat
05.10.2017
15:45:58
ну я не виноват что они так пишут )))

GeoIP или кто-то еще такое же просит )

А нет

Gearman



Valentin
05.10.2017
15:47:09
Антикварная лавка

Gaiaz Iusipov
05.10.2017
16:02:00
ребят можно пример того что в конфиг пхп вписывать для экстеншена?

установил через yum пакет

вот это php72-php-pecl-sphinx.x86_64

Valentin
05.10.2017
16:07:09
У тебя CentOS, я не знаю, куда там по умолчанию кладутся конфиги для php, но либо в /etc/php/7.2/mods-available, либо в /usr/local/etc/... должен появиться .ini для этого расширения. Надо сделать линк на него из php/7.2/{fpm,cli}/conf.d (кажется так директории называются)

Проверить можно через php -m

Google
Valentin
05.10.2017
16:08:14
(Но это будет список включенных для CLI расширений)

Salavat
05.10.2017
16:46:43
Никто не сталкивался? Warning: count(): Parameter must be an array or an object that implements Countable 3.3.9 - cache:clear, ругается на Monolog

Pavel
05.10.2017
17:56:20
Попробуй дропнуть кеши вручную через rm

Иногда бывает глюк с недочишенными кешами

Serg
05.10.2017
21:16:12
https://www.meetup.com/Symfoniacs/events/243851586/?rv=ea1

Nik
05.10.2017
21:32:37
Всем привет! Может кто сталкивался и подскажет, почему доктрина может использовать очень много памяти.. неужели при размере выборки в 1000 строк, сложно построить объект с вложенными.. Или может где-то зацикливается(

Nik
05.10.2017
21:41:01
в профайлере пишет что доктрина

до 1 гига

там штук 8 джоинов

Combot
06.10.2017
01:52:46
combot.org/chat/-1001091570538

combot.org/chat/-1001091570538

Ivan
06.10.2017
05:26:46
привет. такой вопрос. зачем нужна возможность обьявлять сервисы приватными?

Andrew
06.10.2017
05:32:16
привет. такой вопрос. зачем нужна возможность обьявлять сервисы приватными?
тут две причины: чтобы заставлять использовать разрабов DependencyInjection, а не инжектить контейнер и фетчить сервисы через сервис локатор(ну или в контроллере дергать напрямую). Вторая — так контейнер оптимизируется.

Alexandr
06.10.2017
06:22:24
В продолжение - я правильно понимаю, что фабрику с приватными сервисами не посторишь? ... Фабрику, которая может дёргать из контейнера сервисы на основе рантайм-параметров

Или может в симфони есть какой-нибудь lazy injection?)

Sergey
06.10.2017
06:29:19
привет. такой вопрос. зачем нужна возможность обьявлять сервисы приватными?
их тогда компилятор может инлайнить и выбрасывать если они не используются. так 5 сервисов могут превратится всего в 1 функцию, вместо 5 отдельных

Nik
06.10.2017
06:35:58
никто не знает?

Всем привет! Может кто сталкивался и подскажет, почему доктрина может использовать очень много памяти.. неужели при размере выборки в 1000 строк, сложно построить объект с вложенными.. Или может где-то зацикливается(

в профайлере пишет что доктрина

Google
Sergey
06.10.2017
06:36:14
в каком профайлере?

Nik
06.10.2017
06:36:23
симфони

Sergey
06.10.2017
06:36:34
а где там можно узнать что именно память жрет?)

да и 1000 записей это довольно много

Danil
06.10.2017
06:37:18
в перфомансе же есть Peak memory usage

Nik
06.10.2017
06:37:27
на вкладке перфоманс

Danil
06.10.2017
06:37:43
ты ж сам писал, что у тебя там куча джойнов

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

Nik
06.10.2017
06:37:59
эти 1000 мапятся в один обьект

Anton
06.10.2017
06:38:39
Для чего вообще может понадобиться такая большая выборка разом?

Nik
06.10.2017
06:38:44
тоесть никаких аномалий?

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

Nik
06.10.2017
06:39:18
на странице все используется

Для чего вообще может понадобиться такая большая выборка разом?

Danil
06.10.2017
06:39:29
я честно с таким не сталкивался. но многие жалуются о проблемах на больших выборках.

Sergey
06.10.2017
06:39:32
этот memory usage ни о чем не говорит, с чего взяли что это доктрина?

Danil
06.10.2017
06:40:11
этот memory usage ни о чем не говорит, с чего взяли что это доктрина?
ну так у тебя дальше есть Execution timeline и там время + память не?

Sergey
06.10.2017
06:41:59
проверь нормальным профайлером, get_memory_usage может и будет показывать неверный результат

эти 1000 мапятся в один обьект
1000 колонок в таблице или как?

Nik
06.10.2017
06:43:35
в выборке с джоинами

Google
Nik
06.10.2017
06:43:35
1000 строк

колонок штук 70

спасибо, попробую

проверь нормальным профайлером, get_memory_usage может и будет показывать неверный результат

Sergey
06.10.2017
06:44:45
проверь вообще то что ты запрашиваешь из мускуля, возможно ты там данных на 500мб запросил

Andrew
06.10.2017
06:45:50
1000 обьектов - это не очень маленькая но и не страшная цифра, по ходу проблемы возникают уже во время гидрации. Отличная статья - http://ocramius.github.io/blog/doctrine-orm-optimization-hydration/

Admin
ERROR: S client not available

Nik
06.10.2017
06:45:59
нет, там реально данных мало.. простые поля по одному слову/числу.. индексы есть

Bohdan
06.10.2017
07:21:14
ребята, я правильно понимаю, что начиная с 3.2 все сервисы стали по умолчанию приватными и теперь получение их через get кидает deprecation?

Dmitriy
06.10.2017
07:23:55
с 3.3 вроде

Sergey
06.10.2017
07:24:38
сможешь тогда и дальше через get получать все что тебе нужно

Alexey
06.10.2017
07:27:19
Что мешает для тех сервисов, которые то хочешь через get получать выставить public в true?

Bohdan
06.10.2017
07:27:56
не совсем понимаю, как его применять мне, в принципе, get нужен только в контроллерах, в сервисах все прописано зависимостями уже выставляю, но ведь хочется знать best practice и мотивацию разработчиков делать так, а не иначе)

Alexey
06.10.2017
07:28:32
Можно объявить контроллеры как сервисы и инжектить туда то что нужно

Bohdan
06.10.2017
07:29:14
не люблю controller-as-service со времен работы с акенео когда в контроллере набирается хотя бы десяток экшнов - вполне вероятна ситуация, когда конструктор занимает весь экран чисто присвоениями сервисов

Dmitriy
06.10.2017
07:29:16
либо в экшене

значит у тебя год контроллер

Google
Dmitriy
06.10.2017
07:29:44
выноси функционал в отдельный класс и инжекти его в экшн

а уже твой класс будет собирать зависимости

Bohdan
06.10.2017
07:33:35
https://gist.github.com/enleur/4d4a4ef3be7e36b693bfd4cdb58765d0 вот я показывал уже пример
так понятнее. спасибо больше заточка под autowire но по сути я не вижу особой разницы со старым флоу сейчас autowire сервисы сами описывают, что им надо получить в getSubscribedServices а раньше это просто описывалось в конфиге сервиса

Sergey
06.10.2017
07:34:28
если в конструкторе слишком много зависимостей, то явно что-то делаешь не так и надо разбивать. либо у тебя не cohensive контроллер, либо он выполняет много роли сервиса, либо сервисы нужно обьединять через другие сервисы

$iD
06.10.2017
07:34:33
второй вариант, как по мне, должен собирать кэш быстрее

и внимание вопрос, нахрена мне автовайр?

Bohdan
06.10.2017
07:35:07
выноси функционал в отдельный класс и инжекти его в экшн
контроллеры не слишком божественны - используется некое подобие ddd c cqrs (без query, правда), и сами контроллеры только гребут данные из реквеста, впихивают их в команду и ее запускают ну и делают редирект в зависимости от результата

$iD
06.10.2017
07:35:08
когда ты руками зависимости тыкаешь

Bohdan
06.10.2017
07:36:17
а количество методов в контроллере определяется его сутью - когда контроллер отвечает за одну большую форму на 8 шагов (не symfony form, а вообще форму), то в нем как раз и наберется с десяток методов

пим система, сторонняя я ее на прошлом проекте допиливал под нужды заказчика

сейчас у меня контроллеры не являются сервисами

А что думаешь насчет использования вместо контроллеров invokable action?
буквально час назад встретил на пакаджисте бандл этот возможно, неправильно понял, но создавать по классу на экшн выглядит еще более странно больше кода, больше boilerplate плюсов подхода не увидел

Dmitriy
06.10.2017
07:38:16
кучу шагов можно роутом натравить на один экшн и разруливать.. можно подумать про применение конечного автомата

Sergey
06.10.2017
07:38:38
стандартный подход с контроллером скорее всего будет deprecated

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