Найти тему
notnull.media

Моя ошибка на $646 с циклом в PHP

Оглавление

Я усвоил очень ценный урок при работе с циклом while и Google Places API. Стоит этот урок минимум $646. Верно, я пропинговал Places API 17 000 раз за час 😳 🤦🏻‍♂️ Поэтому я решил написать сегодня статью, документирующую мою ошибку, в надежде, что это помешает кому-то другому столкнуться с той же проблемой.

Что случилось?

Ну... Сейчас я создаю веб-приложение и мобильное приложение, использующее API Google Places. Мне нужно было вернуть результаты с помощью поиска поблизости. Google API возвращает только 20 результатов, максимум 60, которые вы можете получить, используя их версию разбиения на страницы. Итак, давайте пройдёмся по коду и объясним, что пошло не так. API Google возвращает только 20 результатов с максимумом 60, которые можно получить, используя пагинация. Давайте рассмотрим код и объясним, что пошло не так.

Вы смогли найти мою ошибку? Цикл while будет выполняться до тех пор, пока не получит значение false. К сожалению, $response['next_page_token'] всегда возвращает true, следовательно, мы улетаем в бесконечный цикл. Дело в том, что я использовал $response['next_page_token'] из первого запроса, который всегда true.

Как я решил эту проблему?

-2
-3
-4

Вывод

Будьте осторожны при работе с API, которые взимают плату. Особенно, если если запускаете их внутри цикла. В качестве меры предосторожности вы всегда можете создать переменную $count и остановить цикл при заданном количестве. Это то, что я буду применять.

Надеюсь, это поможет вам или кому-то ещё не совершить ту же ошибку✌🏻

Перевод. Автор оригинала: Jonathon Ringeisen

Наш telegram: @notnullmedia