Начало работы с Twilio и Google App Engine для PHP

Автор: | 29.07.2026

*Это перепечатка статьи от разработчика-евангелиста Twilio, Кита Кейси, изначально опубликованной в блоге Google App Engine*. *Кит показывает, как использовать Twilio с Google App Engine на среде выполнения PHP.*

Я уже много лет хотел изучить Google App Engine. Его соглашение об уровне обслуживания (SLA), автоматическое масштабирование и система очередей всегда казались мне привлекательными. К сожалению, поскольку мои навыки в Python находятся где-то между «Hello World» и «О боже, что я наделал!?», я решил избавить себя от неловкости. Когда Google объявила о поддержке PHP для App Engine, я был в восторге и заинтригован тем, что может стать возможным. Чтобы что-то заработало всего за несколько минут, я решил использовать нашу библиотеку-помощник Twilio для PHP.

При экспериментировании с новой платформой как услугой (PaaS) есть нюансы, о которых следует знать, например, работа с виртуализированной файловой системой и необходимость отдельного сервиса для электронной почты. Однако остальные нюансы, как правило, минимальны и требуют скорее «подстройки моего модуля», чем серьезной «перестройки моего приложения».

Зная это заранее, приступим.

Во-первых, ознакомьтесь и следуйте инструкциям Google «Начало работы с PHP на Google App Engine», чтобы настроить локальную среду. Их инструкции охватят настройку SDK, подключение к вашей учетной записи и некоторые детали отладки. Это должно настроить вашу среду по адресу http://localhost:8080/, который служит корневым каталогом вашего приложения.

Далее, что касается библиотеки-помощника Twilio для PHP, мы позаботились о нюансах для вас, самым важным из которых было резервное копирование на PHP Streams, когда cUrl недоступен. В вашем случае просто обновите библиотеку до версии v3.11+ или установите ее впервые. Вы можете использовать библиотеку для отправки текстовых сообщений и совершения телефонных звонков точно так же, как и в любой другой среде PHP:

*Если вас интересуют конкретные изменения для нашей библиотеки, вы можете ознакомиться с соответствующими pull-запросами здесь и здесь. У меня также есть статья под названием «Подготовка вашего PHP к App Engine» в следующем номере журнала php|architect.*

В App Engine вся система маршрутизации управляется файлом app.yaml. Если вы знакомы с разработкой с использованием фреймворков, таких как Zend или Symfony, определение маршрутов покажется вам естественным и, возможно, будет немного проще, чем просто копирование и вставка. Если вы знакомы только с разработкой без фреймворков на PHP, вам придется определить маршрут для каждого PHP-файла, к которому обращается пользователь. В примере Google «hello world» ваше приложение app.yaml должно начинаться примерно так:

Обработчики запросов — это важная часть. Если вы используете MVC-фреймворк или OpenVBX, скорее всего, у вас будет один основной элемент, сопоставляющий ваш файл index.php, и набор элементов для статических ресурсов, таких как JavaScript, CSS и изображения.

Альтернативно, если вы не используете фреймворк, app.yaml будет сопоставлять различные шаблоны URL с отдельными PHP-скриптами, например:

Внутри этих отдельных PHP-скриптов никаких изменений не требуется, поэтому наш make-call.php прост и идентичен нашему быстрому старту:

Также send-sms.php может быть таким же, как в нашем обычном быстром старте:

Теперь вы можете получить доступ к своим скриптам через http://localhost:8080/make-call.php и http://localhost:8080/send-sms.php соответственно. Если файл не нуждается в публичном доступе, например, ваш файл credentials.php, он не должен иметь соответствующей записи.

Вот и все. Теперь у вас есть ваше первое PHP-приложение на Google App Engine!

Надеюсь, это будет полезно при тестировании и развертывании ваших PHP-приложений на Google App Engine. Если у вас есть какие-либо советы, отзывы, предложения или просто хорошая шутка, пожалуйста, дайте мне знать по электронной почте или в Twitter: @CaseySoftware.