• Как делать createQueryBuilder в коде?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это не надо делать в "произвольном" классе. Это надо делать в сервисе. В который все необходимые компоненты передаются через dependency injection.
    При конфигурировании сервиса в services.yml все необходимые ему компоненты прописываются в аргументы конструктора

    foo.service:
            class: AppBundle\Helper\Foo
            arguments:
                $entityManager: "@doctrine.orm.entity_manager"


    и потом в самом классе в конструкторе переданный аргумент присваивается переменной класса
    use Doctrine\ORM\EntityManager;
    
    class Foo
    {   
        /**
         * @Var EntityManager
         */
        protected $em;
    
        public function __construct(EntityManager $em)
        {
          $this->em = $em;
        }


    Смысл в том, что в Симфони не должно быть "произвольных классов". Все классы должны укладываться в четкую стркутуру. Репозитории - для работы с БД. Контроллеры обрабатывают НТТР запросы. "произвольный код" пишется в сервисы. То есть это должен быть не просто класс, сам по себе, а сервис, описанный в конфигурации.
    Ответ написан
    4 комментария
  • Как увеличить лимит подключений к скрипту PHP для Apache?

    @BorisKorobkov Куратор тега PHP
    Web developer
    Надо правильно проектировать приложение.

    Во-первых, не держать открытой сессию (именно из-за лока на файл сессии второй процесс ждет окончания первого). В крайнем случае прочитать данные из сессии и сразу же закрыть.

    Во-вторых, длительные скрипты не должны запускаться из веба. Их надо откладывать в очередь и обрабатывать кроном или демоном.
    Ответ написан
    1 комментарий
  • Перевод сайта на технологию ajax?

    @Pendal
    Web разработчик
    В yii2 вшита поддержка pjax - это то что вам нужно
    Ответ написан
    2 комментария
  • Как подключится к openfire?

    @nulled
    Системный Администратор *nix
    Если правильно помню то Вам нужно экспортировать сертификат сервера с уже работающего клиента. И импортировать его в неработающий клиент.
    Ответ написан
    Комментировать