이 기사에서는 Twilio 및 Laravel을 사용하여 일기 예보 전화 응용 프로그램을 구축하는 것을 보여줍니다. 이 두 부분으로 구성된 시리즈는 Part One의 음성 상호 작용에 중점을두고 SMS 기능은 2 부에 추가됩니다.
사용자는 Twilio 번호를 호출하여 우편 번호를 입력하고 현재 일기 예보를받습니다. 음성 메뉴는 특정 요일에 대한 예측을 검색 할 수 있습니다.
주요 기능 :
Laravel 내에서 효율적인 API 상호 작용을 위해 Twilio의 PHP SDK 및 Guzzle HTTP 클라이언트를 활용합니다.
는 Laravel의 HTTP Post 경로를 사용하여 사용자 입력 및 예측 요청을 관리합니다.
는 성능을 최적화하고 API 호출을 최소화하기 위해 Laravel의 캐싱 시스템을 구현합니다.
Twilio Webhooks의 CSRF를 우회하여 보안 요청 유효성 검사를위한 사용자 정의 미들웨어가 포함되어 있습니다.
전제 조건 :
홈스테드 개선 (또는 비슷한 개발 환경). 설치 지원을 위해 링크 된 SitePoint 및 Vagrant 리소스를 참조하십시오. PHP 개발 환경 북도 추가 학습을 위해 연결되어 있습니다.
Laravel 프로젝트 설정 및 종속성 :
개발 단계 :
경로 () : - 음성 상호 작용에 대한 경로 정의 :
-
-
서비스 계층 () :
비즈니스 로직을 캡슐화하기 위해 클래스를 만듭니다. 이 클래스는 Geonames의 지리적 데이터를 사용하여 National Weather Service API ()에서 날씨 데이터를 검색합니다. 캐싱은 성능 향상을 위해 구현되었습니다. 핵심 방법은 , - ,
,
, 및 .
컨트롤러 () : 는 를 사용하여 날씨 데이터 검색을 처리하는 사용자 상호 작용을 관리합니다. 방법으로는 , , - 및 가 포함됩니다. 이 방법은 통화를 통해 사용자를 안내하는 Twilio Twiml 응답을 반환합니다.
-
미들웨어 () : 사용자 정의 미들웨어는 Twilio RequestValidator를 사용하여 Twilio의 들어오는 요청을 검증하여 합법적 인 요청 만 처리 할 수 있도록합니다. Twilio Webhooks의 경우 CSRF 보호가 비활성화되었습니다
-
환경 변수 (
) : Twilio Auth Token ()을 구성합니다.
.env
ngrok : TWILIO_APP_TOKEN
를 사용하여 Ngrok을 사용하여 로컬 개발 서버를 인터넷에 노출시켜 Twilio Webhook 통화를 위해 인터넷에 노출시킵니다. GEONAMES_USERNAME
Twilio 설정 : - 음성 및 SMS 기능이있는 Twilio 전화 번호를 얻으십시오. Twilio 계정 설정에서 Webhook URL을 구성하여 NGROK 노출 경로를 가리 키십시오.
생산 고려 사항 : -host-header
https 엔드 포인트로 전환하는 것이 좋습니다.
결론 : 이 기사에서는 기능적 음성 기반 날씨 응용 프로그램을 생성합니다. 파트 2는 이것을 SMS 기능을 포함하도록 확장합니다. GitHub 저장소 (원본 텍스트로 제공되지 않은 링크)에는 전체 코드가 포함됩니다.
FAQS (원본 텍스트에서, 재구성) :
원본 텍스트의 FAQ 섹션은 광범위하며 Laravel을 다른 커뮤니케이션 서비스 (Twilio, Plivo, Sinch)와 통합하는 다양한 측면을 다룹니다. 이 질문은 제공된 텍스트를 다시 작성하도록 요구하기 때문에이 섹션을 간결하게 생략했습니다. 그러나이 섹션이 포함 되려면 알려주십시오.
위 내용은 안녕하세요, Laravel? 전화 통화를 통해 PHP와 의사 소통!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!