
Pavel
19.08.2017
08:55:52
1000+

Sergey
19.08.2017
09:23:17
а ты денежку за весь софт заплатил что ты используешь?
не парься, тебе всеравно за суппорт платить будут, а это уже будет привязано к серверу/клиенту
за код никто платить не будет

Google

Sergey
19.08.2017
09:24:21
а все остальные штуки - это пережитки прошлого
если есть соединиение то полюбому tcp. поверх уже websockets скорее всего и на базе оного еще что свое можно навернуть

Антон
19.08.2017
09:48:50
@fes0r вопрос по архитектуре. Контроллер может из репозитория брать данные напрямую? или же через сервис обращаться?
если сложная логика выборки, когда надо брать много различных данных и еще и обработать эти данные, то вся эта логика тоже в репозитории? или в сервисе который манипулирует репозиториями?
кажется что плохая идея хранить логику в репах

Sergo
19.08.2017
09:58:27
ну логика в моделях по-идеи
кажется что плохая идея хранить логику в репах

Nick
19.08.2017
10:40:41
а как вы опримизируйте картинки под гугл спид тест на пхп

Igor
19.08.2017
11:06:03
/stat@combot

Combot
19.08.2017
11:06:04
combot.org/chat/-1001042383571

Igor
19.08.2017
11:09:23
есть но нагрузка не большая. живуч! я аж не ожидал, reactphp вообще непроблемный оказался на удивление

Якушев
19.08.2017
11:32:26
Парни, для новичка тут есть смысл? или может есть какой то чат для глупых вопросов?

Айнур
19.08.2017
11:33:28
Здесь все в чем то новички

Google

AlekVolsk
19.08.2017
11:37:20

Aleh
19.08.2017
11:41:35
т.е. вполне норм контроллер вида:
public function listAction(UserSpec $spec)
{
return new JsonResponse(
new UsersListDto($this->users->findAllSatisfying($spec))
);
}

Якушев
19.08.2017
11:46:38

Aleh
19.08.2017
11:46:55

AlekVolsk
19.08.2017
11:47:28

Artyom
19.08.2017
11:58:08
Народ, вопрос: использует ли кто pre-commit анализаторы/линтеры для php? посоветуйте что нибудь

Aleh
19.08.2017
11:58:39
pre-commit линтеры чем-то отличаются от остальных?)
https://github.com/phpstan/phpstan
https://github.com/etsy/phan

Pavel
19.08.2017
12:10:25

Aleh
19.08.2017
12:11:39
часто вообще нет смысла выбирать бизнес-объекты в таких случаях, можно напрямую данные вытянуть

Pavel
19.08.2017
12:12:27
В смысле данные напрямую вытянуть?

Антон
19.08.2017
12:12:54
Я так понял если надо просто выдернуть данные то репозиторий прямо в контроллере, более сложные вещи через абстракцию
Сервис

Aleh
19.08.2017
12:13:11

Pavel
19.08.2017
12:13:50
Не надо в репозиторий логику пихать — это не его задача.

Aleh
19.08.2017
12:14:04
ну зависит от вида логики
пока я совсем не понимаю, о чем мы говорим)
рассылать уведомления очевидно не задача репозитория, собирать данные по спеке - задача репозитория и логике этой лучше быть там или в спеках

Google

Aleh
19.08.2017
12:15:05
и то, и другое логика

Антон
19.08.2017
12:15:31
А сохранять тоже репозиторий должен?
Данные
Ну простой пример. Тяну из бд текст, где есть допустим макросы

Aleh
19.08.2017
12:16:09

Pavel
19.08.2017
12:16:15
Я так понял если надо просто выдернуть данные то репозиторий прямо в контроллере, более сложные вещи через абстракцию
Я не знаю объёмы вашего приложения. В каждом случае лучше всего думать головой и использовать здравый смысл.
Если заниматься быстрым прототипированием, пилиловом MVP то вполне можно пихать репозитории в контроллеры.
Если разрабатываться продукт с очень длительным жизненным циклом, то лучше сразу абстракцию в виде сервиса делать. Вопрос не только в переиспользовании кода, но и в том, что если код усложнится, то все усложнения будут инкапсулированы в этой асбтракции.

Антон
19.08.2017
12:16:19
Мне их надо заменить перед выводом

Aleh
19.08.2017
12:16:28

Антон
19.08.2017
12:17:05
Ну вот я сделал через сервисы, а они уже работают с репами

Pavel
19.08.2017
12:18:10

Aleh
19.08.2017
12:18:22

Aleh
19.08.2017
12:19:21

Admin
ERROR: S client not available

Pavel
19.08.2017
12:19:41
логикой будет, например, динамическое формирование подобной спеки.

Aleh
19.08.2017
12:21:28
или там new And(new OnSale(), new InCategory($request->category));

Антон
19.08.2017
12:28:39
Этот какой то тренд все через spec делать?
Класс And звучит странно

Aleh
19.08.2017
12:30:56

Google

Aleh
19.08.2017
12:30:59
open-closed

Pavel
19.08.2017
12:31:12

Антон
19.08.2017
12:31:56
Есть примеры на гитхабе?
Я после ларавел. Там AR
Симфони решил изучать

Pavel
19.08.2017
12:32:36
Про репозитории и спеки есть статья неплохая, правда на примере доктриновских: https://beberlei.de/2013/03/04/doctrine_repositories.html

Антон
19.08.2017
12:32:47
То что надо

Aleh
19.08.2017
12:34:57

Pavel
19.08.2017
12:35:42
Ну если это где-то совместно со стратегией используется какой-нибудь, то тогда вполне себе динамически.
Но конкретные куски кода, где везде свежесозданные объекты — не динамические.

Aleh
19.08.2017
12:40:28

Pavel
19.08.2017
12:48:24
Может. А ещё может быть логика и до объявления этих, вырванных из контекста, строк. Я вполне способен представить, что эти строки не в сферическом вакууме существуют, но тем не более я отвечал исключительно на то, что было приведено, потому как отвечать на бесчисленное множество и бесчисленные вероятности того, что могло бы быть, но не было приведено — бессмысленно и беспощадно.


Aleh
19.08.2017
12:50:27
Может. А ещё может быть логика и до объявления этих, вырванных из контекста, строк. Я вполне способен представить, что эти строки не в сферическом вакууме существуют, но тем не более я отвечал исключительно на то, что было приведено, потому как отвечать на бесчисленное множество и бесчисленные вероятности того, что могло бы быть, но не было приведено — бессмысленно и беспощадно.
логика до никак не попадает в эти строки, а вот внутри попадает и вполне динамическая, а эти строки просто так выносить в какой-то сервис ради чего-то смысла не вижу никакого, все итак разнесено в нужные абстракции
зачем какой-то мифический сервис, который непонятно что абстрагирует

Pavel
19.08.2017
12:55:57
А спецификацию прямо в контроллере формировать?

Aleh
19.08.2017
13:01:50
да

Pavel
19.08.2017
13:12:22
Если так удобнее в вашем случае, то на здоровье же)

Lakie
19.08.2017
13:17:38
Ребят, кто ещё может плиз подсказать полезные чаты связанные с php в телеграмме?