현재 위치: > 최신 기사 목록> PHP에서 GO 서비스를 호출하기위한 모범 사례 : Get and Post 요청을 효율적으로 구현하는 방법

PHP에서 GO 서비스를 호출하기위한 모범 사례 : Get and Post 요청을 효율적으로 구현하는 방법

gitbox 2025-06-18

1. GO 서비스 소개

GO는 Google에서 개발 한 컴파일 된 언어입니다. 효율성, 단순성 및 신뢰성의 특성이 있으며 특히 동시 및 고성능 애플리케이션 개발에 적합합니다. 개발 과정에서 PHP 및 GO 서비스를 통합 해야하는 시나리오를 만날 수 있습니다. 이 기사는 PHP를 통해 작성한 서비스를 효율적으로 호출하는 방법에 중점을 둘 것입니다.

2. GO 서비스 창출

먼저 PHP가 호출 할 API 인터페이스를 제공하는 GO 서비스를 작성해야합니다. 다음은 GO 서비스의 간단한 예입니다.

패키지 메인

수입 (수입)
    "FMT"
    "net/http"
))

func main () {
    http.handlefunc ( "/api", handleapi)
    http.listenandserve ( ": 8080", NIL)
}

func handleapi (w http.responsewriter, r *http.request) {
    fmt.fprintf (W, "안녕하세요!
}

위의 코드는 로컬 포트 ​​8080을 듣는 기본 HTTP 서비스를 만듭니다.`/api` 경로에 액세스 할 때 "Hello From Go!"라는 메시지가 반환됩니다.

3. PHP를 사용하여 GO 서비스를 호출합니다

PHP에서 Go 서비스를 호출 할 때 PHP의 'Curl'확장을 사용하여 네트워크 요청을 할 수 있습니다. 서버에 확장자가 설치되어 활성화되어 있는지 확인하십시오.

3.1 GET 요청을 시작하십시오

다음은 GO 서비스에 액세스하기 위해 PHP를 통해 GET 요청을 시작하는 방법을 보여줍니다.

$ url = "http : // localhost : 8080/api";
$ ch = curl_init ($ url);
curl_setopt ($ ch, curlopt_returntransfer, true);
$ response = curl_exec ($ ch);
curl_close ($ ch);
에코 $ 응답;

이 코드에서는 CURL 세션이 먼저 초기화되고 GO 서비스의 주소가 지정됩니다. `curlopt_returntransfer`를 'true'로 설정하면 브라우저에 직접 출력하는 대신 응답 내용을 얻을 수 있습니다. 다음으로`url_exec ()`를 사용하여 요청을 시작하고 응답을받습니다.

3.2 게시물 요청을 시작하십시오

PHP는 요청을 얻는 것 외에도 사후 요청을 시작하고 GO 서비스를 위해 데이터를 보낼 수 있습니다. 다음은 CURL을 사용하여 게시물 요청을 시작하는 예입니다.

$ url = "http : // localhost : 8080/api";
$ data = array ( "name"=> "john", "age"=> 30); // 데이터 게시 $ ch = curl_init ($ url);
curl_setopt ($ ch, curlopt_returntransfer, true);
curl_setopt ($ ch, curlopt_post, true); // 요청을 게시하도록 설정 Curl_SetOpt ($ ch, curlopt_postfields, $ data); // 포스트 데이터 설정 $ response = curl_exec ($ ch);
curl_close ($ ch);
에코 $ 응답;

이 예에서는 데이터 배열`$ data`를 생성하고`curl_setopt ()`를 사용하여 게시물 데이터를 지정하면서 게시물 메소드로 요청을 설정합니다. 다른 부분은 GET 요청 처리 방법과 유사합니다.

4. 요약

이 기사에서는 PHP를 사용하여 작성된 서비스를 호출하는 방법에 대해 설명합니다. 우리는 먼저 간단한 GO 서비스를 구축했으며 PHP의`Curl` 확장을 통해 GO 서비스의 응답을 얻기 위해 GET 및 게시 요청을 시작하는 방법을 보여주었습니다. 이를 통해 개발자에게 PHP를 통합하고 GO를 통합하는 효율적인 방법을 제공하여 개발의 편의성을 향상시킵니다.