/hphp/test/slow/ext_soap/classmap_extension_crash.php
PHP | 44 lines | 36 code | 8 blank | 0 comment | 0 complexity | fb7ba57a2fbf04f2cbd580e85e66057d MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
- <?hh
- class A {
- public $x;
- }
- class B extends A {
- public $y;
- }
- function f($a) {
- return $a;
- }
- class LocalSoapClient extends SoapClient {
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction("f");
- }
- function __doRequest($request, $location, $action, $version, $one_way = 0) {
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
- }
- <<__EntryPoint>>
- function main_classmap_extension_crash() {
- ini_set("soap.wsdl_cache_enabled", 0);
- $client = new LocalSoapClient(
- dirname(__FILE__) . "/classmap_extension_crash.wsdl",
- darray['classmap' => darray['A' => 'A', 'B' => 'B']]
- );
- $b = new B();
- $b->x = 1;
- $b->y = 2;
- print_r($client->__soapcall('f', varray[$b]));
- }