@symfony_php

Страница 206 из 1418
Aleh
04.05.2017
13:44:11
вообще для начинающих мб даж хорошая преза

ща досмотрю всю)

но вообще с сеттерами не ок

а дальше даж сеттеры убирает, ну т.е. вообще с нуля показал)

Google
Sergey
04.05.2017
13:51:15
видео https://www.youtube.com/watch?v=rjtbCyacJas&t=160s

Aleh
04.05.2017
13:51:51
спс

?
04.05.2017
14:47:59
спс

Sergey
04.05.2017
22:56:05
чет я загнался...

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

что бы на каждый query можно было сгенерить оптимальный гидратор

с инлайнингом всяких мелких функций

типа вместо $identity = $this->identityHash($row, $alias) делать $identity = "{$row['id_3']} {$row['type_4']}";

хотя ладно, сначала "медленный" гидратор напишу а там будет видно

Dinar
05.05.2017
07:29:41
А напомните пожалуйста, какая там проблема с сонатой и симфони 3?

Pavel
05.05.2017
07:31:07
А напомните пожалуйста, какая там проблема с сонатой и симфони 3?
да вроде никакой, там проблема с сонатой + fos user на 3 ветки

Aleksandr
05.05.2017
07:33:13
а что за проблема с сонатой и фосюзером?

я уже два дня долбаюсь с проблемой слетания авторизационного хэша

Google
Sergey
05.05.2017
07:34:58
кажется sonata-user использует fos версии 1.* и поэтому на версию 3 не поставится. Но обещали как только fos 2 выйдет стабильный, это поправят. Не знаю поправили ли

Dinar
05.05.2017
07:53:41
А если не использую Фос Юзер бандл, то соната норм будет пахать на тройке?

Алексей
05.05.2017
08:23:41
Небольшой опрос есть. Для констант или свойств классов, где значение - FQCN что используете? 1. SomeClass::class 2. '\Vendor\Namespace\SomeClass'

Алексей
05.05.2017
08:27:48
Просто забавный момент в том, что, если мне память не изменяет, в первом варианте автолоад срабатывает даже если больше нигде обращений к классу не будет. В Symfony, кстати, много где используются именно строки с именем. Хотя мне кажется, что это не ради избегания автолоада, а ради обратной совместимости с PHP старым.

Dinar
05.05.2017
08:28:47
Ну наверно да :) Я не интересовался. По логике наверно да. Он же должен его неймспейс достать.

Алексей
05.05.2017
08:30:19
Ну вот мне интересно, что будет в Symfony 4. Я не уверен, что они оставят строки, т.к. оверхед не особый должен быть. Да и в продакшене оно всё равно скомпилено будет.

.avolver
05.05.2017
08:32:50
Да, sonata-admin — (хорошо?) работает на 3.

Алексей
05.05.2017
08:33:23
Соната сама по себе да.

В смысле, SonataAdmin.

Dinar
05.05.2017
08:38:35
Ок. Спасибо :)

Какие у вас, кстати вообще впечатления на данный момент о 4 симфони?

Алексей
05.05.2017
08:39:13
Хочу пощупать на выходных, если время будет.

По словам Фабьена - круто. Но надо потрогать.

Dinar
05.05.2017
08:42:03
Теперь все будет по бест практис? :)

Один бандл и в нем домены.

да?

Sergey
05.05.2017
09:03:49
я больше 3.3 жду, ништяков с контейнером

Алексей
05.05.2017
09:15:05
По ссылке что ты прислал - вторая часть того, что ты хочешь сделать - аутентификация (а не авторизация, кстати). До этого тебе ещё надо клиенту токен выдать.

Google
Dmitry
05.05.2017
09:16:04
О, только проверил - вторая часть отлично работает Да, сейчас нужно сделать чтобы выдавался токен

Алексей
05.05.2017
09:16:37
Токен, соответственно, надо выдавать там, где не требуется аутентификация :)

Sergey
05.05.2017
09:17:32
я больше 3.3 жду, ништяков с контейнером
composer require symfony/dependency-injection:~3.3.*@dev

Dmitry
05.05.2017
09:17:40
а нету случайно способа, чтобы посылал запрос на /login_check с логином и паролем, а в ответ выдавался токен?

Sergey
05.05.2017
09:17:54
а что до "стабильности" - они умудрились стабильную 3.2.7 сломать

Sergey
05.05.2017
09:17:54
composer require symfony/dependency-injection:~3.3.*@dev
до релиза осталось всего 3 недели) дождусь

Алексей
05.05.2017
09:18:24
а нету случайно способа, чтобы посылал запрос на /login_check с логином и паролем, а в ответ выдавался токен?
Это можно сделать, но ты же хочешь для API токены выдавать. Так что лучше это на отдельном ресурсе.

Sergey
05.05.2017
09:18:45
по коду уже именую сервисы по FQCN

Dmitry
05.05.2017
09:18:53
Может добавить листенер на onAuthenticationSuccess типа такого, и возвращать там респонс

Алексей
05.05.2017
09:20:17
А что тебе мешает сделать обычный экшен в пределах своего API, который отдаст токен? Без листенеров?

Dmitry
05.05.2017
09:21:39
абсолютно ничего))) но хотелось бы сделать максимально «правильно»

сейчас попробую по http://symfony.com/doc/current/security/guard_authentication.html - скорее всего получится, спасибо)

Dmitry
05.05.2017
09:40:45
Будет ли корректно, если я репозиторий сделаю в виде сервиса (реализует UserProviderInterface) api.user.repository: class: AppBundle\Repository\UserRepository factory: ['@doctrine', getRepository] arguments: ['AppBundle\Entity\User'] и в security.yml добавлю провайдер по id'шнику? providers: api_user_provider: id: api.user.repository

Алексей
05.05.2017
09:45:10
Ну не то чтобы шибко хорошо, конечно. Всё же UserProvider по-хорошему ничего, кроме своей узкой задачи уметь не должен.

Dmitry
05.05.2017
09:50:26
Да вот и думаю: по умолчанию репозиторий для User реализует UserLoaderInterface, а провайдер должен реализовать UserProviderInterface Чтобы не дублировать код, можно репозиторий реализовать с интерфейсом UserProviderInterface и далее его юзать Но то, что провайдер имеет доктриновский слой - не очень хорошо в какой-то степени.. Но опять же, при создании аутентификации - удобно искать пользователя по токену используя провайдер Да, пусть будет так... Просто интересно: providers: api_user_provider: id: api.user.repository можно ли так?

Алексей
05.05.2017
09:52:07
Что мешает реализовать простой провайдер и дать ему репозиторий как зависимость?

Кстати, возвращаясь к теме выше про ClassName::class и автолоадер, я был неправ: https://3v4l.org/s5U7V

Dmitry
05.05.2017
09:53:39
Может так и лучше.. Спасибо за совет!

Алексей
05.05.2017
09:55:32
Кстати, возвращаясь к теме выше про ClassName::class и автолоадер, я был неправ: https://3v4l.org/s5U7V
То есть, видимо, единственная причина юзать строки с именем класса в Symfony - это совместимость с PHP версий ниже 5.5.

Dinar
05.05.2017
09:57:06
Ну это тогда просто замечательно :)

Google
Dmitry
05.05.2017
09:57:10
да, к примеру я всегда юзаю getRepository(User::class) вместо getRepository('AppBundle:User')

Dinar
05.05.2017
09:57:23
Я вдруг понял. А реально неймспейс же уже на месте есть :)

Я тоже.

Если есть вариант делать стандартно или как-то отдельно в стиле фрейма, я выбираю стандартный.

Sergey
05.05.2017
09:59:55
еще удобненько container->get(UserService::class) делать

Dinar
05.05.2017
10:01:45
А так можно кстати?

Admin
ERROR: S client not available

Dinar
05.05.2017
10:01:51
Он все сделает?

Sergey
05.05.2017
10:02:06
в 3.3 версии сервисы по FQCN регать нужно

Dinar
05.05.2017
10:02:11
Или конфиг в аннотациях должен быть

Sergey
05.05.2017
10:02:19
поэтому имя класса такое же как и айдиха

вот и умеет)

Dmitry
05.05.2017
10:02:29
м... я думаю не стоит так делать, лучше по алиасу и только в контроллерах в других местах - внедрение зависимости

Dinar
05.05.2017
10:02:30
Но в yml все равно имя будет по старому?

Алексей
05.05.2017
10:02:47
в 3.3 версии сервисы по FQCN регать нужно
А как там решается вопрос, где один класс, но по-разному инициализирован?

Sergey
05.05.2017
10:03:19
если уж про внедрение зависимостей то ->getRepository тоже лучше не делать

Dmitry
05.05.2017
10:03:28
@Gaaarfild класс сервиса может менятся

Sergey
05.05.2017
10:03:29
Но в yml все равно имя будет по старому?
не. в 3.2 тоже так можно App\UserService: class: App\UserService arguments: ...

Dinar
05.05.2017
10:03:47
А ну я понял.

Google
Dinar
05.05.2017
10:03:57
Но я имею ввиду в 3.3 уже нельзя будет как алиас писать?

Sergey
05.05.2017
10:04:02
можно

Dinar
05.05.2017
10:04:11
Dmitry
05.05.2017
10:04:12
это и есть же алиас App\UserService

Dinar
05.05.2017
10:04:20
Я думал ты про AppBundle:User

Dmitry
05.05.2017
10:04:36
не))

ктстати, написал отдельно провайдер, никакого дубляжа, все довольно таки лаконично https://pastebin.com/E97eUvhL

Алексей
05.05.2017
10:05:57
другое имя сервиса даешь)
Как другое, если оно по FQCN?

Sergey
05.05.2017
10:06:35
Как другое, если оно по FQCN?
это не обязательное условие. просто если FQCN юзать, тогда не обязательно указывать еще и класс

Алексей
05.05.2017
10:07:03
Ну, то есть, алгоритм получается такой: Если сервис в единственном экземпляре - юзаем FQCN. Если нет - алиас.

Sergey
05.05.2017
10:07:44
угу. но вообще у меня таких сервисов можно на пальцах пересчитать

Ivan
05.05.2017
10:07:52
чуваки, а кто из вас с помощью capistrano деплоит симфони приложухи?

или все деплоером пользуются?

Алексей
05.05.2017
10:08:35
чуваки, а кто из вас с помощью capistrano деплоит симфони приложухи?
Деплоили с помощью Capifony (старая Capistrano адаптированная под Symfony), но я перевёл на Deployer.

Dmitry
05.05.2017
10:08:36
phing, capistrano..

Алексей
05.05.2017
10:09:12
или все деплоером пользуются?
Ну при схожей функциональности не вижу смысла держать дополнительную зависимость в виде рубей.

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