|
Post by account_disabled on Jan 29, 2024 0:57:35 GMT -5
Twilio是一款 SaaS 应用程序,使开发人员能够使用 Web 技术构建电话应用程序。在这个由两部分组成的系列中,我们将利用 Twilio 构建一个可通过电话系统访问的天气预报应用程序。后端将使用 Laravel 框架编写(可在此处购买探索性视频课程。 Play Next Unmute Current Time Duration 2:00 Fullscreen Backward Skip 10s Play Video Forward Skip 10s 在这一部分中,我们将创建一个简单的程序,允许用户拨打我们从 Twilio 购买的电话号码,输入邮政编码,并接收当前的天气预报。用户还可以通过语音菜单提示获取一周中任意一天的天气。在本系列的第二部分中,我们将利用本文中构建的内容来允许用户通过 SMS(文本消息)与应用程序交互。 先决条件 开发环境 本文假设已安装Homestead Improve 。不是必须使用它,但如果您使用不同的环境,命令可能会略有不同。 如果您不熟悉 Homestead 并且想要产生与本文旨在产生的类似结果,请访问这篇SitePoint 文章,其中展示了如何设置 Homestead,如果您需要 Vagrant 速成课程,请参阅这篇文章。此外,如果这激起了您的兴趣并且您想深入探索 PHP 开发环境,我们有一本关于这方 WhatsApp 号码数据 面的书可供购买。 依赖关系 我们将创建一个新的 Laravel 项目,然后将Twilio PHP SDK和 Guzzle HTTP 客户端库添加到该项目中 在此应用程序中,所有请求都将位于该/voice路径下。当 Twilio 首次连接到应用程序时,它将通过 HTTP访问POST。根据电话呼叫中发生的情况,Twilio 将向其他端点发出请求。这包括voicezipcodeWeather提供今天的预报、提供特定日期的预报以及/voice/credits提供有关数据来源的信息。 服务层 我们将添加一个服务类。此类将包含语音电话应用程序和短信应用程序之间共享的大量业务逻辑。 Services在文件夹内创建一个名为的新子文件夹app。然后,创建一个名为的文件WeatherService.php并将以下内容放入其中这是项目中的一个大文件,因此我们将一块一块地构建它。将本节中的以下代码片段放入我们的新服务类中我们将使用这个数组将一周中的一天映射到一个数字;星期日 = 1,星期一 = 2,依此类推。 该getWeather方法采用带有星期几的邮政编码并制作天气预报文本。首先,它计算出所请求日期的参考时间,然后通过对预报数据数组执行 foreach 来查找天气预报。之后,它返回Voice TwiML响应。以下是返回内容的示例:如果您在网络上工作,您可能已经明白大多数读者不会认真阅读您内容的每一个字。相反,他们一开始几乎是无意识地扫描它——类似于你扫描超市过道里路过的食品标签的方式。超市是我们进行扫描的一个典型例子。我们的眼睛可能会在没有正确阅读任何标签的情况下看到 50 种不同品种的意大利面酱。
|
|