라이브러리

[PHP] SoapServer::setPersistence - SoapServer 지속성 모드를 설정합니다.




SoapServer::setPersistence


PHP의 SoapServer는 SOAP(Simple Object Access Protocol) 서비스를 제공하는 클래스입니다. SoapServer::setPersistence 메소드는 SoapServer의ERSISTENCE 설정을 변경하는 메소드입니다.

# persistence 옵션


SoapServer::setPersistence 메소드는 두 가지 옵션을 제공합니다.

- `SOAP_PERSISTENCE_SESSION` : 세션 영역에 저장합니다. 세션 영역은 요청당이 영역입니다.
- `SOAP_PERSISTENCE_REQUEST` : 요청당이 영역에 저장합니다. 요청당 영역은 요청당이 영역입니다.
- `SOAP_PERSISTENCE_NONE` : 저장하지 않습니다.

# 예제


#hostingforum.kr
php

<?php



// SoapServer 설정

$server = new SoapServer(null, array(

    'uri' => 'http://example.com/soap',

    'location' => 'http://example.com/soap',

    'soap_version' => SOAP_1_2,

    'cache_wsdl' => WSDL_CACHE_NONE,

    'classmap' => array('MyService' => 'MyService'),

    'persist' => SOAP_PERSISTENCE_SESSION // persistence 옵션

));



// MyService 클래스

class MyService {

    private $data;



    public function __construct() {

        $this->data = array();

    }



    public function add($name, $age) {

        $this->data[] = array('name' => $name, 'age' => $age);

        return $this->data;

    }



    public function getData() {

        return $this->data;

    }

}



// SoapServer 실행

$server->addFunction('add');

$server->addFunction('getData');



// SoapClient로 요청

$client = new SoapClient('http://example.com/soap?wsdl');



// 요청 1

$result = $client->add('John', 30);

print_r($result);



// 요청 2

$result = $client->add('Jane', 25);

print_r($result);



// 요청 3

$result = $client->getData();

print_r($result);



?>



# 결과


위 예제에서 SoapServer::setPersistence 메소드는 `SOAP_PERSISTENCE_SESSION` 옵션을 사용합니다. 따라서 SoapServer는 세션 영역에 저장됩니다. 요청 1과 요청 2는 동일한 세션 영역에 저장되며, 요청 3는 세션 영역의 데이터를 반환합니다.

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [name] => John

            [age] => 30

        )



)

Array

(

    [0] => Array

        (

            [name] => John

            [age] => 30

        )



    [1] => Array

        (

            [name] => Jane

            [age] => 25

        )



)

Array

(

    [0] => Array

        (

            [name] => John

            [age] => 30

        )



    [1] => Array

        (

            [name] => Jane

            [age] => 25

        )



)



# 결론


SoapServer::setPersistence 메소드는 SoapServer의ERSISTENCE 설정을 변경하는 메소드입니다. persistence 옵션은 세션 영역에 저장, 요청당 영역에 저장, 저장하지 않는 세 가지 옵션을 제공합니다. 위 예제에서 SoapServer::setPersistence 메소드는 `SOAP_PERSISTENCE_SESSION` 옵션을 사용하여 세션 영역에 저장되었습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 182 페이지

검색

게시물 검색