• Почему не работает авторизация через json_login в отдельном правиле в Symfony 6.2?

    kraso4niy
    @kraso4niy
    Дмитрий, может потому что вы не видите разницу между авторизацией и аутентифиацией?
  • Как исправить ошибку при установке symfony?

    kraso4niy
    @kraso4niy
    Если вы хотите установить symfony framework а не отдельные его компоненты, то нужно устанавливать согласно инструкциии из официальной документации

    $ composer create-project symfony/skeleton:"6.2.*"

    Почему разработчики, композер допустил такую ситуацию (не разрешил конфликт сам), и теперь я не могу установить приложение из за несовместимости?


    Пожалуйста не обвиняйте разработчиков composer (и не только их, в общем не обвиняйте кого-то без понимания сути происходящего) не разобравшись в том как следует работать с программой. Вам пакетный менеджер отвечает на вашу команду что у вас конфликт (у вас явно есть composer.json в нём прописаны версии, но вы выполняйте require (причём без указания версии) принудительно заставляя другие пакеты с ним "заработать", на что вам пакетный менеджер отвечает предупреждением.

    Your requirements could not be resolved to an installable set of packages

    Ваши требования не могут быть разрешены для устанавливаемого набора пакетов.

    В первой команде
    $ composer update symfony/flex --no-plugins --no-scripts
    вы выполняйте обновление значит у вас там уже есть composer.json , но в своём вопросе вы не приводите его содержимое. Для начала разберитесь чем отличается composer install от composer update.

    Во второй команде вы принудительно выполняйте require.

    Из вашего вопроса непонятно что вам нужно. Установить symfony с нуля или обновить symfony.
  • Symfony 5.4, как получить список внешних связей у сущности?

    kraso4niy
    @kraso4niy
    MikUrrey,

    вы задали вопрос без приведения кода, фактов, доказательств что доктрина медленно работает со связями. А затем в итоге наконец-то выяснили что это проблема в ВАШЕМ коде и в непонимании работы сериализации.

    И проверил, и убедился, и уже не раз. Теперь проверьте нормализацию сущностей в JSON. Нормализатор потянет все связи и свалится. Скорее всего, именно на инверсиях, т. к. отключая их, получаем нормальный


    https://symfony.com/doc/current/components/seriali... когда вы что-то конвертируйте в формат, это encoder работает. Нормализация это обратный процесс в терминах symfony.

    В вашем случае - нормализация (десериализация) это JSON-> в entity преобразуйте. И сериализация (кодирование (encoding) это entity -> json.

    Ещё раз повторю что код symfony тут непричём и код доктрины тут непричём, у вас с таким же успехом может быть любой PPO объект который не относится к библиотечному код, но который будет вызывать circular reference. А в symfony для этого есть документация https://symfony.com/doc/current/components/seriali... и https://symfony.com/doc/current/serializer.html читайте внимательно
  • Symfony 5.4, как получить список внешних связей у сущности?

    kraso4niy
    @kraso4niy
    MikUrrey, вы утверждайте что проблема производительности в двунаправленных связях, но это не проблема, вы тем самым вводите других в заблуждение.
    А проблема в том как вы используйте эти двунаправленные связи.

    Я уже разобрался с этой проблемой, убрал inversedBy, что предотвратило зацикливание


    Это означает что ваш код обращается к свойствам сущности которая хранит ассоциации. По-умолчанию если сущность содержит двунаправленные связи и вы например делайте findAll() то доктрина вам отдаст только поля сущности без связей! Проверьте это и убедитесь что там будет только 1 select запрос. Но если вы во время цикла (например частая ошибка выводят прямо в twig в шаблон в цикле сущности и обращаются к её свойству с inversedBy) , то в таком случае будет вызвыаться ещё 1 select для ассоциативной связи (и там будет зависеть от того какая это связь и будет вызыван либо join либо select).

    Поэтому ваша проблема исключительно только в вашем неверном коде Paginatorа или другом месте который не связан с доктриной. Ищите то место где вы обращайтесь к ассоциативой связи и вызывайте одно и свойств ассоциативных связей. Потому что по-умолчанию доктрина будет создавать вам "прокси-сущность" Proxies\__CG__\App\Entity\ВашаСусщностьInversedBy ( https://www.doctrine-project.org/projects/doctrine... )

    Вот вам документация о том как работает доктрина https://www.doctrine-project.org/projects/doctrine...
  • Symfony 5.4, как получить список внешних связей у сущности?

    kraso4niy
    @kraso4niy
    MikUrrey, причём тут двунаправленные связи? Посмотрите для начала как работает knp paginator и лучше сразу им пользуйтесь. У вас paginator берёт query! А затем отдаёт ВСЕ items и вы делайте по ним count($items)!!!! Какой смысл в такой пагинации? Вы даже не предоставили код сущности и разметки маппинга чтобы доказать что двунаправленные связи работают неверно.
  • Symfony 5.4, как получить список внешних связей у сущности?

    kraso4niy
    @kraso4niy
    tukreb, не согласен с тем что доктрину нужно велосипедить, там нечего велосипедить. Доктрина это набор отдельных библиотек (адаптеры, утилиты и ORM). Когда вы используйте ORM всё будет работать так как в зададите в настройках маппинга (в том числе поведение как доставать связи, lazy или eager).

    Вопрос сам поставлен некорректно.
    $queryBulder = $repo->createQueryBuilder('a');
    $items = $queryBulder->getQuery()->getArrayResult();


    Такой код означает select('a') выбрать ВСЮ сущность (весь объект) со всеми полями и положить её в массив. И так для каждой сущности. Если у вас в базе млн. записей, то будет вытаскиваться млн. объектов.

    Тут нет проблемы доктрины, это проблема того кто пишет приложение. Для сравнения вы можете выводить в каталог товаров 20 объектов за раз, и дальне использовать пагинацию. А можете 2000 объектов выводить. Разница будет коллосальная. А в вопросе не указан контекст какие связи необходимо достать. Связи в сущности или МЕТА-информацию о том какими связями обладает сущность.
  • Почему много людей в IT недовольны своей работы?

    kraso4niy
    @kraso4niy
    Северное Сияние,

    Добавлю пояснение к своему тексту + ответ на чатные случаи и про вранье.

    1.
    тысяч строк кода и переплетением бизнес-логики, это частные случаи


    частные случаи - это и есть специализация :) IT - это сфера огромного кол-ва специализаций. Телеком и сети, микрконтроллеры, оборудование для пром. производства, для сельхоз производства, оборудование для компьютеров, оборудование для тестирования оборудования, оборудование для умных домов, для кулинарии, практически для всего что нас окружает и создаёт комфортные условия жизни сейчас нужны программисты или ПО которое производят программисты и компании.

    Вы можете провести параллель с ЛЮБОЙ специализацией, например Врач. Частный случай для Врача - это нейрохирург, а большинство врачей это другие специальности, которые ЧАЩЕ ВОСТРЕБОВАНЫ. Так и в IT есть специальности , которые ЧАЩЕ востребоавны из за рынка. И если у вас есть СПОСОБНОСТИ и ЖЕЛАНИЕ программировать что то кроме веб-сайтов, то это зависит от ВАС. Вы можете сидеть в РФ, а работать на НАСА, при условии что ваши способности нужны НАСА.

    2.
    а это вранье. Ни один серьезный бизнес никогда не нанимает удаленщиков.


    Я про серьёзный бизнес не писал. Я писал про то что IT сфера позволяет при ВАШЕМ ЖЕЛАНИИ найти/создать/договорится на удалённую работу. Ну а про серьёзный бизнес - это субъективное понимание серьёзности. Что для вас серьёзно. Для меня вот серьёзный бизнес это программирование медицинского диагностического оборудования или оборудования для управления самолётом. Вот это серьёзно, где цена ошибки высока. А можно работать на крупную строительную компанию в Москве и делать мобильное приложение для них. Это вроде бы тоже серьёзно, но вот цена ошибки там не такая. Или крупная соц. сеть для знакомств, там большие бюджеты, но какая та серьёзность?! Это всё субъективно. И не относится к ответу на вопрос.

    ---
    Ваш комментарий похож на обиженного отраслью человека. И я вас могу понять. Но IT сфера тут не причём - это может быть абсолютно любая сфера в которой вам "не можется или не хочется".
  • Как исправить ошибку android no such table ?

    kraso4niy
    @kraso4niy Автор вопроса
    если вы думайте что у вас в коде DAO паттерн , то вы ошибайтесь : )
  • Как исправить ошибку android no such table ?

    kraso4niy
    @kraso4niy Автор вопроса
    да проверяю на эмуляторе через android avd , с эмулятором работаю через шелл adb. Есть девайс нексус 7 2013 и телефон сони, на них тоже самое. Билд проекта идет через ant debug, adb install -r bin/mysppname-debug.apk. ОС Ubuntu 12.04
  • Как осуществить тестирование действий, требующих авторизацию в symfony 2.4?

    kraso4niy
    @kraso4niy Автор вопроса
    @Fesor , это и есть phpunit . Assert'ы убраны для наглядности проблемы получения страницы /pricelist/page
  • Вызов метода в java. Какая разница между this.method() и method() при вызове внутри класса?

    kraso4niy
    @kraso4niy Автор вопроса
    Спасибо за ответ. А можно ли как то глобально определить this внутри класса чтобы постоянно не указывать контейнер? И что лучше с точки зрения эффективности выполнения: вызов метода через контейнер и this, или просто вызов метода?
  • Вывод данных в множественную форму вида form[field][0], form[field][1] в symfony2.2 doctrine?

    kraso4niy
    @kraso4niy Автор вопроса
    ещё уточню, как в этом цикле
    {% for field in form.vars.value %}
                   {{ field.name }}</br>
                    {{ field.email }}</br>
                     {{ field.message }}</br>
                    {# здесь по идее надо выводить формы {{ form_widget(field) }}  #}
                   
                {% endfor %}

    получать form_widget , чтобы выводился готовый input с необходимым name'ом, или это всё надо вручную делать?
  • Вывод данных в множественную форму вида form[field][0], form[field][1] в symfony2.2 doctrine?

    kraso4niy
    @kraso4niy Автор вопроса
    уточнение в Entity есть getters и setters , по идее надо как то получать через геттер , но как это сделать в представлении? чтобы не писать код на получение массива в контроллере?
  • Яндекс.Подписки Rss воспроизводят html код в почте, это ошибка?

    kraso4niy
    @kraso4niy Автор вопроса
    к сожалению они отвечают что принято к рассмотрению, а вот объяснять они не объясняют, как и исправления. Попробуйте ленту вк прикрутить в подписках (там есть кнопка). У меня уже 2 недели выдаёт exception 1, да и ссылки не туда ведут.
  • Вывод новостей с мультикатегориями

    kraso4niy
    @kraso4niy
    стараюсь избегать like и rlike , для меня это плохое решение. Я бы сделал так в случае существования таблицы связей (как выше написал делаем выборку из этой таблицы SELECT * FROM таблицасвязей WHERE category_id IN (31,32,33,34,35) , можно ещё делать выборку из contenta и через JOIN'ы всё выцепить. Мастера mysql должны это уметь)