PHP 는 웹 서비스의 간단 한 예시 와 실현 절 차 를 실현 합 니 다.

2976 단어 PHPWebService
얼마 전 웹 서비스 문제 에 대해 오랫동안 고민 을 했 습 니 다.thinkphp 의 프레임 워 크 에 쓰 려 고 했 지만 도저히 실현 되 지 않 았 습 니 다.지금까지 배 운 프레임 워 크 없 는 인터페이스 개발 에 불과 합 니 다.
이 자원 공유 단계:
우선 내 가 만 든 파일 은:
api.php  api 인터페이스 클래스 파일
api.wsdl  마지막 으로 호출 할 인터페이스 파일 을 만 듭 니 다.
coeture.php 등록 서비스 api 류 내용 의 모든 실행 파일
creat_wsdl.php  wsdl 파일 을 만 드 는 실행 방법 파일
SoapDiscovery.class.php  호출 할 soap 류 파일(인터넷 에서 조회 하여 다운로드 가능)
첫 번 째 단계:api 인터페이스 항목 을 저장 하 는 service 폴 더 를 만 듭 니 다.
두 번 째 단계:SoapDiscovery.class.php 파일 을 다운로드 하여 service 폴 더 에 넣 습 니 다.
세 번 째 단계:service 폴 더 아래 에 api 인터페이스 류 파일 api.php 를 만 듭 니 다.파일 내용 은 다음 과 같 습 니 다.

<?php
class api{
    //
    public function test(){
        return "hello world";
    }
}
?>
자,우리 의 인 터 페 이 스 를 다 쓴 후에 이 인터페이스 에 관 한 wdl 파일 을 만 들 기 시작 합 니 다.
제4 부:wsdl 파일 을 만 드 는 실행 프로그램 을 작성 합 니 다.여기 서 파일 을 새로 만 들 겠 습 니 다 creatwdl.phop,같은 service 동급 디 렉 터 리 아래 에 놓 여 있 습 니 다.내용 은 다음 과 같 습 니 다.

<?php
include("api.php");
include("SoapDiscovery.class.php");
$disc = new SoapDiscovery('api','service');//api ,service
$disc->getWSDL();
?>
STEP 5:creat 실행파일

그리고 service 폴 더 아래 에 api.wdl 파일 이 하나 더 생 겼 습 니 다.다음 그림 과 같 습 니 다.

아직 안 끝났어 요.
여섯 번 째 단계:api 류 파일 을 등록 하 는 모든 방법 입 니 다.service 폴 더 아래 에 등록 류 파일 을 새로 만 드 는 실행 파일 이름 은 cometure.phop 입 니 다.파일 내용 은 다음 과 같 습 니 다.

<?php
$server = new SoapServer('api.wsdl', array('soap_version' => SOAP_1_2)); ## Service.wsdl
$server->setClass("api"); // Service
$server->handle();
?>
만 든 후에 이 파일 을 실행 합 니 다.이때 클래스 파일 의 모든 내용 을 등록 하 였 습 니 다.이 인 터 페 이 스 를 테스트 해 보 겠 습 니 다.
일곱 번 째 단계:api 의 클래스 파일 api.php 의 맨 아래 에 호출 된 프로그램 을 추가 하고 그 다음 api.php 의 파일 내용 은 다음 과 같 습 니 다.

<?php
class api{
    //
    public function test($a){
        return $a;
    }
}
$server = new SoapServer('api.wsdl', array('soap_version' => SOAP_1_2)); ## Service.wsdl
$server->setClass("api"); // Service
$server->handle();
?>
일곱 번 째 단계:테스트,service 밖의 임의의 위치(접근 할 수 있 으 면)에서 테스트 파일 이름 을 만 듭 니 다:test.php,파일 내용 은 다음 과 같 습 니 다.

<?php
 $x = new SoapClient("http://rbac.local/service/api.php?wsdl"); //
 echo $x->test('ok');
?>

좋은 웹페이지 즐겨찾기