@aopil

Как выполнять обработку запросов получаемых API?

Есть файл index.php в который приходят POST запросы с разных серверов.

В этом файле я делаю проверки типа:
if (isset($_POST) && !empty($_POST))
{
// далее проверяю кучу необходимых мне вещей типа существуют ли все нужные переменные итд.
// если все успешно я должен обработать запрос
}


Обработка запроса:
У меня есть много php файлов, каждый из которых отвечает за определенную услугу.
Я сделал функцию
public function SendRequest($url, $param)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, array('param' => $param));
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
        curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
        $result = curl_exec($ch);
        $info = curl_getinfo($ch);

        if ($info["http_code"] == 200)
        {
            return $result;
        }
    }


Я вызываю эту функцию и отправляю POST запрос на свой же сервер для запуска процесса и получения результата..

Вопрос: Насколько правильна такая конструкция? Не будет возникать проблем если придет куча запросов к моему серверу?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 3
Poznakomlus
@Poznakomlus
Программист: php, js, go
Насколько правильна такая конструкция

Незачем гонять по http данные зря
посмотрите пример простейшего роутера на php
вставьте себе в index.php
средствами сервера перенаправьте все запросы на index.php кроме статики
Ответ написан
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
про MVC и http роутинг почитай
Ответ написан
Tomio
@Tomio
backend developer (python, php)
Попробуйте переделать под более привычную реализацию, с роутером, правилами, параметрами и единым диспетчером, который будет в зависимости от апи-эндпоинта вызывать тот или иной метод или функцию.
Посмотрите в сторону FastAPI
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы