
Andrew
08.10.2017
13:36:23
посмотри в vendor/composer/autoload_psr4.php

Виктор
08.10.2017
13:36:32
ну то есть есть если я делаю как на последнем скрине

Sergey
08.10.2017
13:40:13
ё9

Google

Andrew
08.10.2017
13:42:36
или просто закинул в папку с vendor?

Виктор
08.10.2017
13:45:54
он ставится
нормально подключается к репу - клонирует его и т.п.
даже несмотря на то что доступ по ssh-ключу
я думал с этим основной гемор может быть... а сел с автолоадером:(

Дмитрий
08.10.2017
15:09:30

Sergey
08.10.2017
15:27:44
https://github.com/Limenius/symfony-react-sandbox#server-side-rendering-modes наткнулся на такой вариант
когда симфони отдает ноде часть рендеринга и забирает потом обратно

Andrew
08.10.2017
16:02:47
не знаю, как там сейчас дела, но полгода назад было сыро

Sergey
08.10.2017
16:24:21
совсем плохо?

Alan
08.10.2017
17:37:03
а зачем?

Google

Sergey
08.10.2017
17:37:19
рендеринг же

Alan
08.10.2017
17:37:38
можно же реакт поднять с каким нить nats и кидать ему мессаги на рендеринг если симфа на фронте

Sergey
08.10.2017
17:38:38
а разница?

Alan
08.10.2017
17:38:49
нативный рендер нодой
а не v8 php exteension

Sergey
08.10.2017
17:39:02
когда симфони отдает ноде часть рендеринга и забирает потом обратно
оно ж так и делает
v8 php медленный до безумия

Alan
08.10.2017
17:39:46
в прод его они и рекомендуют
It is recommended to have V8Js installed, but you may want to have it installed in production and still be able to use PhpExecJs calling node as a subprocess during development

Sergey
08.10.2017
17:40:03
я еще поиграюсь с бенчмарками
Using an external node.js server (Example). It will use a dummy server, that knows nothing about your logic to render React for you. This is faster but introduces more operational complexity (you have to keep the node server running). For this reason it is more suited for production.

Alan
08.10.2017
17:41:01
2 years ago)
хз напиши если потестишь интересно

Sergey
08.10.2017
17:41:34
просто поднимать целый фронтэнд на ноде это как-то слишком будет
учитывая что у нас щас твиг

Alan
08.10.2017
17:41:56
а вы какие то куски твигом а какие то нодой хотите?

Sergey
08.10.2017
17:42:19
сейчас вообще рендерится почти все на твиге, а потом подхватывает фронт бекбоном
хотим полностью реактом рендерить

Arky
08.10.2017
18:28:01
Помогите, плиз, не могу понять этот пример :( Как здесь получают метод getReadComments, если $user не является объектом класса User https://puu.sh/xTaFM/01ce17d512.png

Google

Егор
08.10.2017
18:29:34
Почему ты считаешь, что "$user не является объектом класса User" ?

Arky
08.10.2017
18:31:44
Потому что здесь не было объявленно что $user является объектом класса User
А если указать new User, то обязательно надо делать persist, а это уже не то :(

$iD
08.10.2017
18:34:29
Щито?
что по-твоему делает find?

Arky
08.10.2017
18:36:14
Это да, но я все равно не могу связаться через find с этим классом
https://puu.sh/xTbau/12b6cc329d.png

$iD
08.10.2017
18:37:37
исключение всё тебе сообщило... твоя переменная где ты дёргаешь comment() равно null
без кода можно только гадать

Arky
08.10.2017
18:38:15
https://puu.sh/xTbeJ/fde8bd153d.png

$iD
08.10.2017
18:38:38
$this->cooment?

Arky
08.10.2017
18:38:39
https://puu.sh/xTbg0/78a3c1c49c.png

$iD
08.10.2017
18:38:48
тебе даже IDE говорит что ты выдумываешь
$post->addComment($comment) обычно

Arky
08.10.2017
18:39:10
Ах да ><
Очень туплю, спасибо
но всеравно :(

$iD
08.10.2017
18:44:23
ну значит в БД нет поста с таким id. сделай dump($post);die;

Google

$iD
08.10.2017
18:44:27
посмотри что выведет
вангую что Null
и вообще, в симфонях есть отличная штука под названием ParamConverter. можно убрать
$post = ...
и поставить
function comment(Post $id, Request $request)
и дальше по коду у тебя уже будет объект Post, при условии что он существует... либо симфони вернёт 404

Arky
08.10.2017
18:53:32

$iD
08.10.2017
18:55:13
записи в бд нет с таким id

Arky
08.10.2017
18:56:14
но она есть(
Пофиксил слаг, айди нашелся, комменты записываются, но post_id : NULL ><
доктрина меня сломала...( Пойду спать...

Sergey
08.10.2017
19:44:43

Admin
ERROR: S client not available

Sergey
08.10.2017
19:44:48
мне аж понравился этот вариант
@fes0r вон глянь если интересно

Alan
08.10.2017
20:07:20
он процесс ноды поднимает для этого? или всегда запущен?

Sergey
08.10.2017
21:26:17
ноду самому контролировать нужно, супервизорами или нодовой тулзой

Nikolay
09.10.2017
08:28:52
https://habrahabr.ru/company/zfort/blog/339630/ Свежий PHP Дайджест подоспел

Alexey
09.10.2017
09:34:53
Всем привет. Такой вопрос возник. Например страница, состоящая из различных блоков. Виджеты там всякие. Нормально ли делать виджеты в виде отдельных экшенов и вызавать их из шаблонов? Просто до этого только api шки писал)

Gaiaz Iusipov
09.10.2017
09:37:02

Dmitriy
09.10.2017
09:37:21
Можно макрос написать, можно twig extension
Ну а если эти блоки у тебя только в лайоуте, то смысла нет

Google

Alexey
09.10.2017
09:41:07

Gaiaz Iusipov
09.10.2017
09:46:40

Alexey
09.10.2017
09:47:13
Что подразумеваешь под миксинами?
Хмм. Чет я подумал. Можно отдельно создавать компоненты, как сервисы, инжектить туда то что нужно (репозитории, сервисы) и отдавать отрендеренный результат

Gaiaz Iusipov
09.10.2017
09:47:26
а код вызывать например из твиг экстеншена самописного.
ну вот это оно и есть
пишется экстеншен, там свои функции которые доступны в шаблонах. Это очень сильно дешевле чем "подзапрос" делать через контроллер

Alexey
09.10.2017
09:51:42

Sergey
09.10.2017
10:31:08
<div id="sidebar">
{{ render(controller(
'AppBundle:Article:recentArticles',
{ 'max': 3 }
)) }}
</div>
типа такого
https://symfony.com/doc/current/templating/embedding_controllers.html

Alexey
09.10.2017
10:35:37
Так это и есть подзапрос
Я уже после того как задал вопрос вспомнил, что раньше делал это через отдельные twig расширения, в которые инжектил через констурктор необходимые для виджета зависимости

Sergey
09.10.2017
10:39:58
если у вас в слушателях нет проверки на субзапросы, тогда встраивать контроллеры будет медленнее

Alexey
09.10.2017
10:49:26

Sergey
09.10.2017
10:50:38
сервис будет рендерить твиг?

Alexey
09.10.2017
10:52:12
сервис будет рендерить твиг?
Почему нет, если он нужен только для вывода виджета. Делать контроллер ради этого не вижу смысла. UI компонент. Не вижу в этом ничего плохого

Sergey
09.10.2017
10:53:38

Alexey
09.10.2017
10:57:45
тогда можно в и твиге делать запросы к базе, чего уж там
Хмм. У меня UI компонент имеет лишь один метод, который возвращает то что нужно. Запросы к базе скрыты в репо, который инжектися внуть компонента. Что-тут не так?
Ну то есть UI комонент можно рассматривать как invokable action

Sergey
09.10.2017
10:59:10
я просто говорю то как это делается в симфони по бест практисес, я общался на эту тему с кор разрабами год назад где-то когда у меня была проблема с перформансом встраиваемых контроллеров
как вы у себя будете делать - мне как-то пофигу)