@symfony_php

Страница 319 из 1418
Sergey
07.10.2017
09:30:31
приходишь и тесты тыкаешь

Arky
07.10.2017
09:32:06
приходишь и тесты тыкаешь
У тебя уже есть сертификат?)

Sergey
07.10.2017
09:33:26
У тебя уже есть сертификат?)
не, в нем смысла нет. только если собираешься идти туда где его требуют

Google
Sergey
07.10.2017
09:34:28
и они быстро устаревают) только сдал на 2ю симфони, а уже 3я вышла, потом 4я)

Arky
07.10.2017
09:37:59
Значит это https://habrahabr.ru/post/301760/ еще актуально мне для обучения 3.3 версии?)

Dmitry
07.10.2017
09:39:53
Значит это https://habrahabr.ru/post/301760/ еще актуально мне для обучения 3.3 версии?)
насколько я помню, самым кординальным измененим со 2й версии было то что подняли минимальные требования. Но может ребята меня поправят

Arky
07.10.2017
09:48:38
Значит еще актуально, спасибо)

Sergey
07.10.2017
09:49:32
насколько я помню, самым кординальным измененим со 2й версии было то что подняли минимальные требования. Но может ребята меня поправят
ну если не расценивать "удобства" то в целом так и есть. Во всяком случае в контексте "пишем блог"

Dmitry
07.10.2017
09:51:54
Значит еще актуально, спасибо)
если только начинаешь советую прочитать, оч хорошая книга позволяющая разобраться в принципе работы фреймворка. В русском переводе тоже можно найти https://matthiasnoback.nl/book/a-year-with-symfony/

Dmitry
07.10.2017
11:17:41
А какой лучше роутинг использовать, через аннотации или yml?)
как тебе нравиться. Я через отдельный файл всегда делаю. Потому что если у тебя Controller Blog action item, а роут /camp/{company} то фиг поймешь где его искать

Ad
07.10.2017
11:18:04
А какой лучше роутинг использовать, через аннотации или yml?)
Православно когда все видишь в одном месте

Не поймите неправильно

Sergey
07.10.2017
11:22:35
Православно когда все видишь в одном месте
что именно, роут и ассоциированный с ним код, или роуты и код по отдельности но вместе?

Google
Sergey
07.10.2017
11:23:01
имхо наилучший вариант - комбинация из yaml + аннотаций

yaml декрарируют модули, внутри модуля аннотации

если модуль у нас один (блог) - то... сам понимаешь

Ad
07.10.2017
11:23:32
что именно, роут и ассоциированный с ним код, или роуты и код по отдельности но вместе?
Я обычно выношу роутинг в отдельный файл, это помогает мне потом не путаться

Ad
07.10.2017
11:24:34
а чем путаница то?)
В том что я тупой и не знаю как настроить шторм для подсказок. Поэтому я смотрю в routing.xml

Dmitry
07.10.2017
11:25:11
а чем путаница то?)
потому что не всегда из пути ясно что его обрабатывает

да и менять потом проще

Ad
07.10.2017
11:26:10
Насчет расширения могу путать, семейный скандал был, и я горе заливаю.

Но yaml

Sergey
07.10.2017
11:27:06
потому что не всегда из пути ясно что его обрабатывает
доложно быть понятно какой модуль. А так я лучше container debug:router | grep "/my_url" воспользуюсь

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

Dmitry
07.10.2017
11:29:22
на самом деле разницы вообще нет. ни удобнее ни быстрее... просто используйте что нравится команде
я вообще чет аннотаций побаиваюсь, какой то дополнительный язык програмирования получаается. Поэтому только в Entity

Ad
07.10.2017
11:29:22
Вот и все всегда так. Я поддерживаю магазины на маженте 1, и приходится временами грепать

Sergey
07.10.2017
11:29:52
@Route('/users', methods={'POST'})

как по мне удобненько

Dmitry
07.10.2017
11:31:29
как по мне удобненько
наверное дело привычки, я в основном с компонентами работаю. Поэтому и в фреймворке юзаю обычный свой workflow

Мурад
07.10.2017
12:35:48
Кто знаком с библиотекой enqueue. Допустим у меня есть разные обработчики, каждый подписан на свой топик (ImageProcessor, EventProcessor и т.д.) И я хочу запустить 10 процессов которые будут обрабатывать сообщения топика images и 5 процессов топика events. В RabbitMqBundle можно указать тип запускаемого консьюмера и в супервизоре указать количество для каждого в одтельности: ./bin/console rabbitmq:consumer images ./bin/console rabbitmq:consumer events Но в enqueue не нашел такого в доках. Там запускается один consumer (./bin/console enqueue:consume), который слушает все сообщения и роутит на нужные обработчики в зависимости от топика.

Google
Timur
07.10.2017
12:53:41
"не получается" плохое описание проблемы
Что тут непонятного то может быть? Http basic authentication. Там что, много вариантов что ли? Вбиваю логин, вбиваю пароль, жму ок - не логинится, окно снова появляется с пустыми полями и так до бесконечности

Народ, что то не получается у меня залогиниться с помощью простейшего http модального окна. Если ставлю провайдера in_memory и алгоритм шифрования plaintext, то логинится без проблем, а вот из ДБ получить юзера не получается. Для простоты тоже сделал алгоритм plaintext. Сущность User имплементирует UserInterface. Открыть пытаюсь 127.0.0.1:8000 (server:run). В чем может быть проблема?





Timur
07.10.2017
13:23:16
Form login же в конфиге фаервола включать надо, вроде http://symfony.com/doc/current/security/form_login_setup.html
у меня нет формы входа, я использую стандартное браузеровское модальное окно

Valentin
07.10.2017
13:27:13
Потому что вот: https://github.com/symfony/symfony/issues/15469

Timur
07.10.2017
13:37:43
Потому что вот: https://github.com/symfony/symfony/issues/15469
я использую built-in сервер Symfony. Сказал же, если поменять провайдер на in_memory, то все прекрасно логинится через ту же basic http авторизацию

Valentin
07.10.2017
13:39:03
Ну раз в db провайдере проблема, то почему бы не посмотреть, что пишет в лог доктрина

Алексей
07.10.2017
13:56:21
А еще xdebug.

vlad
07.10.2017
14:27:26
ребят, всем привет

Arky
07.10.2017
14:27:31
Подскажите пожалуйста, как передать объект с данными из бд в шаблонизатор и отобразить данные?

vlad
07.10.2017
14:27:32
как лучше вызвать команду из контроллера?

ребят вообще, кто-нибудь может подсказать, как сделать это корректно с точки зрения mvc? у меня была написана команда, порядка 400 строк сейчас её мальца пришлось модифицировать и во вьюхе теперь есть input, куда вводится число, и затем это число нужно передать на вход команде как это сделать, чтобы не писать костыли?

костылями когда-то делал: на js выцеплял то, что ввели и ajax кидал на action в контроллёре который вызывал напрямую команду

Timur
07.10.2017
15:37:32
Ну раз в db провайдере проблема, то почему бы не посмотреть, что пишет в лог доктрина
Вот что пишется в лог: [2017-10-07 17:31:07] security.INFO: Basic authentication Authorization header found for user. {"username":"admin"} [] [2017-10-07 17:31:07] doctrine.DEBUG: SELECT t0.id AS id_1, t0.username AS username_2, t0.firstname AS firstname_3, t0.lastname AS lastname_4, t0.gender AS gender_5, t0.password AS password_6, t0.email AS email_7, t0.created_at AS created_at_8, t0.updated_at AS updated_at_9, t0.enabled AS enabled_10, t0.folders AS folders_11, t0.image_name AS image_name_12 FROM user t0 WHERE t0.username = ? LIMIT 1 ["admin"] [] [2017-10-07 17:31:07] security.INFO: Basic authentication failed for user. {"username":"admin","exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\AuthenticationServiceException(code: 0): Notice: unserialize(): Error at offset 0 of 2 bytes at C:\\xampp\\htdocs\\451s\\vendor\\symfony\\symfony\\src\\Symfony\\Component\\Security\\Core\\Authentication\\Provider\\DaoAuthenticationProvider.php:94, Symfony\\Component\\Debug\\Exception\\ContextErrorException(code: 0): Notice: unserialize(): Error at offset 0 of 2 bytes at C:\\xampp\\htdocs\\451s\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Types\\ArrayType.php:58)"} []

Valentin
07.10.2017
15:47:15
> Notice: unserialize(): Error Это, в общем, ответ на вопрос что не так Время проверить имплементацию Serializable у User-класса

Подскажите пожалуйста, как передать объект с данными из бд в шаблонизатор и отобразить данные?
О том, как пробрасывать данные, можно почитать тут: http://symfony.com/doc/current/quick_tour/the_view.html

Timur
07.10.2017
16:00:58
> Notice: unserialize(): Error Это, в общем, ответ на вопрос что не так Время проверить имплементацию Serializable у User-класса
Да, уже час бьюсь, не вижу никаких проблем с сериализацией. Дело в том, что я один в один все с официального туториала взял

Google
Valentin
07.10.2017
16:03:05
Это хороший вопрос, потому что от выбранного места хранения Но вообще если ты не менял ничего в этом плане, то вроде в var/sessions они лежат в свежем Симфони

Timur
07.10.2017
16:40:16
Это хороший вопрос, потому что от выбранного места хранения Но вообще если ты не менял ничего в этом плане, то вроде в var/sessions они лежат в свежем Симфони
Удалил. Ничего не меняется. Обрати внимание на эту часть в логе: Basic authentication failed for user. {"username":"admin","exception":"[object] (... Там сериализован ключ "username" и его значение "admin", а что там делает ключ "exception"?

Valentin
07.10.2017
16:42:36
Это набор данных листнера https://github.com/symfony/security/blob/master/Http/Firewall/BasicAuthenticationListener.php#L82

Sergey
07.10.2017
22:19:30
накину немного. Появилась немного безумная идея - генерировать DTO для сущностей (для выборок на чтение) и сделать кастомый гидратор который позволяет мэпить данные любых запросов адекватных для сущностей на эти самые DTO

основная цель - полностью разделить код для записи и чтения и избавиться от ненужных геттеров

Admin
ERROR: S client not available

Artur
07.10.2017
22:22:58
аха новая

прт )

Sergey
07.10.2017
22:23:19
ну не то что бы новая... но что думаете?

Artur
07.10.2017
22:23:59
а по русски если? )

Sergey
07.10.2017
22:24:29
наброски идеи мы как-то с @mkusher обсуждали пол года назад

Artur
07.10.2017
22:24:31
накинь прмиер чтоль

Sergey
07.10.2017
22:24:55
ну блин, представь что у тебя есть сущность, и ты делаешь запрос, но возвращается тебе инстанс UserDTO а не User

Artur
07.10.2017
22:24:59
ты хочешь у dto дёргать что-то?

типа дай мне связанный список?

Sergey
07.10.2017
22:25:39
тип того, что бы данные не попадали в UoW, что бы весь стэйт был как бы доступен...

Sergey
07.10.2017
22:25:59
нет, data transfer object, тупая структура данных которая ничего не умеет и тупо хранит данные

Google
Artur
07.10.2017
22:26:25
ну вот я и сказал

я пока вижу что ты говоришь "нахрен актив рэкорд"

но не понял что ты хочешь

типа чтобы атвоматом подсасывался типаж?

т.е. UserDTO генерировался бы автоматически как класс и его бы возвращало?

т.е. чтобы была постоянная явная мета-структура?

" позволяет мэпить данные любых запросов" - не совсем понятно. папить запросы НА дто или при запросе когда это дто возвращается(вроде последнее сначала подумал что перво(

в моём представлении на акив рекордс это делается наоборот вся магия и запросы хранятся не в модели(DAO - DbAccessObject) и от него возвращается DTO.

но да. если ДТО по факту обвешан активрекордом, трейтами, схемами авторизхаций не оч круто

но для такого подхода на лету на это нет времени, а значит мета(прото) надо генерировать или писать(а от него генерировать код, в т.ч. миграции) заранее

Sergey
07.10.2017
22:35:47
ммм

чет ты усложняешь

у меня есть ORM

которая делает мне удобным запись и работу с данными

но для списочков и т.д. мне оно не надо

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

Artur
07.10.2017
22:36:45
ну так 1 объект может иметь $user->getSubscribes()

Sergey
07.10.2017
22:37:13
варианта тут два: - использовать помимо doctrine/orm какую-нибудь легковесную active record - мэппер кастомный который не на сущности будет результат мэпить а на схожие по структуре dto-хи

Artur
07.10.2017
22:37:25
хотя с другйо стороны можно сделать на UserDTO->getObject()

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