Ответы пользователя по тегу PHP
  • Как правильно сделать рассылку в Telegram боте?

    1. Создаете очередь из списка пользователей для которых необходимо сделать конкретную рассылку. Это может быть таблица в БД, список в редисе или мемкеше, или даже список в файле.
    2. Создает скрипт который:
      1. Берет n пользователей из списка п.1. Где n < допустимого числа сообщений.
      2. Отправляет каждому полученному пользователю сообщение.

    3. Настраиваете cron, которые будет запускать скрипт каждые 30мин/час.


    Таким образом ресурсы сервера буду использоваться только во время отправки сообщение в каждый интервал времени.
    Ответ написан
    4 комментария
  • Как правильно использовать Dependency Injection Container?

    DIC - это некий механизм, который внедряет зависимости объекты.

    Приведенный вами код не является примером использования DIC потому, что вы вручную передаете зависимости в объекты Second и Third.

    Примером использования DIC будет внедрение в First, объекта Second, а в объект Second объекта Third:
    class First
    {
        protected $second;
    
        public function __construct(Second $second)
        {
            $this->second = $second;
        }
    
        public function start()
        {
            return $this->second->start();
        }
    }


    class Second
    {
        protected $elem1;
        protected $elem2;
        protected $elem3;
        protected $third;
    
        public function __construct($this->elem1, $this->elem2, $this->elem3, Third $third)
        {
            $this->elem1 = $elem1;
            $this->elem2 = $elem2;
            $this->elem3 = $elem3;
            $this->third = $third;
        }
    
        public function start()
        {
            return $this->third->start();
        }
    }


    class Third
    {
        protected $elem3;
    
        public function __construct($elem3)
        {
            $this->elem3 = $elem3;
        }
    
        public function start()
        {
            return 'Third';
        }
    }


    При этом вы должны отдельно сконфигурировать каждый из контейнеров(объектов). Способ же будет зависить от выбора конкретного инструмента.
    Ответ написан
  • Как запарсить xml файл в таблицу mysql с помощью php?

    Приблизительный алгоритм не учитывающий вашу сустему, подключение к базе и тд:
    1. Получить содержимое файла, если он на диске то file_get_contents или fread
    2. Разобрать xml документ, чтобы с ним можно было работать. Например при помощи SimpleXMLElement
    3. Обойти в цикле, например, foreach'ем, все корненые элементы и в каждой итерации добавлять запись в базу.

    Это самый просто вариант. Если записей в файле много, нужно в п.3 собирать запросы по n запросов и вставлять их в базу пачкой. Но это по необходимости
    Ответ написан
    Комментировать
  • Как убрать лишние нули в цене на Opencart?

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

    У вас проблема в php коде:
    $arrayFields = array(
        'name_user' => $_POST['name_user'],
        'email_user' => $_POST['email_user'],
        'password_user' => $_POST['password_user'],
        'password_2_user' => $_POST['password_2_user']
    );


    Если в $_POST нет какого-либо из указанных выше параметров, будет выброшен нотис, соответственно на фронт вернется не json объект, а просто текст, и alert'а не будет.

    Сделайте установку параметров $arrayFields через тернарный оператор
    Ответ написан
    Комментировать