Annotation of embedaddon/php/ext/soap/tests/classmap004.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: SOAP Classmap 4: encoding of objects with __get()
        !             3: --SKIPIF--
        !             4: <?php require_once('skipif.inc'); ?>
        !             5: --FILE--
        !             6: <?php
        !             7: ini_set("soap.wsdl_cache_enabled",0);
        !             8: 
        !             9: class A {
        !            10:   public $a;
        !            11:   function __construct($a){
        !            12:     $this->x = $a;
        !            13:   }
        !            14:   function __get($name) {
        !            15:     return @$this->a[$name];
        !            16:   }
        !            17:   function __set($name, $val) {
        !            18:     $this->a[$name] = $val;
        !            19:   }
        !            20:   function __unset($name) {
        !            21:     unset($this->a[$name]);
        !            22:   }
        !            23: }
        !            24: 
        !            25: class B extends A {
        !            26:   function __construct($a){
        !            27:     parent::__construct($a);
        !            28:     $this->y = $a + 1;
        !            29:   }
        !            30: }
        !            31: 
        !            32: function f(){
        !            33:   return new B(5);
        !            34: }
        !            35: 
        !            36: class LocalSoapClient extends SoapClient {
        !            37: 
        !            38:   function __construct($wsdl, $options) {
        !            39:     parent::__construct($wsdl, $options);
        !            40:     $this->server = new SoapServer($wsdl, $options);
        !            41:     $this->server->addFunction("f");
        !            42:   }
        !            43: 
        !            44:   function __doRequest($request, $location, $action, $version, $one_way = 0) {
        !            45:     ob_start();
        !            46:     $this->server->handle($request);
        !            47:     $response = ob_get_contents();
        !            48:     ob_end_clean();
        !            49:     return $response;
        !            50:   }
        !            51: }
        !            52: 
        !            53: $client = new LocalSoapClient(dirname(__FILE__)."/classmap003.wsdl",
        !            54:     array('classmap'=>array('A'=>'A','B'=>'B')));
        !            55: print_r($client->f());
        !            56: ?>
        !            57: --EXPECT--
        !            58: B Object
        !            59: (
        !            60:     [a] => Array
        !            61:         (
        !            62:             [x] => 5
        !            63:             [y] => 6
        !            64:         )
        !            65: 
        !            66: )

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>