/** * handler processing * * @return void */ public function process() { $config = $this->configManager->getConfig("extdirect"); $direct = new ExtDirect((bool) $config['cache']); $direct->setApplicationPath($this->getApplicationPath()); $direct->setApplicationNameSpace($this->getApplicationNameSpace()); /** @var ExtDirectApi $api */ $api = $direct->getApi(); $api->setUrl($config['url']); $api->setNameSpace($config['namespace']); $this->response->addHeader("Content-Type", 'text/javascript'); $this->response->setContent($api->getApi()); }
/** * handler processing * * @return void */ public function process() { $config = $this->configManager->getConfig("extdirect"); $direct = new ExtDirect((bool) $config['cache']); $direct->setApplicationPath($this->getApplicationPath()); $direct->setApplicationNameSpace($this->getApplicationNameSpace()); $direct->setParamMethod("setParams"); $direct->call("altConstructor", array($this->objectManager)); $parameters = $this->request->getParameterMap(); // if no parameters are given set a empty json object instead if (empty($parameters)) { $parameters = "{}"; } $parameterArray = json_decode($parameters, true); $direct->processRequest($parameterArray); $result = $direct->getResponse()->asJson(); $this->response->addHeader("Content-Type", 'text/javascript'); $this->response->setContent($result); }
public function testProcessRequestSingleRequestThrowApplicationExceptionWithoutResponse() { $request = array(); $request['type'] = "rpc"; $request['tid'] = 1; $request['action'] = "FirstDemo"; $request['method'] = "throwExceptionNoResponse"; $request['data'] = array("demoKey" => "demoValue"); $direct = new ExtDirect(); $direct->setApplicationPath($this->demoAppPath); $direct->setApplicationNameSpace($this->demoAppNameSpace); $direct->call("init", array("initparameter")); $direct->setParamMethod("setParams"); $direct->processRequest($request); $result = $direct->getResponse()->asArray(); }
<?php require "../vendor/autoload.php"; use ExtDirect\ExtDirect; $direct = new ExtDirect(); $direct->setApplicationNameSpace("ExtDirectDemoApp"); $direct->setApplicationPath("ExtDirectDemoApp"); $api = $direct->getApi(); $api->setUrl("extDirect.php"); $api->setNameSpace("Ext.app"); $jsonApi = $api->getApi(); echo $jsonApi;
<?php require "../vendor/autoload.php"; use ExtDirect\ExtDirect; $request = array(); $request['type'] = "rpc"; $request['tid'] = 1; $request['action'] = "DemoApp"; $request['method'] = "getTree"; $request['data'] = array("demoKey" => "demoValue"); $direct = new ExtDirect(); $direct->setApplicationNameSpace("ExtDirectDemoApp"); $direct->setApplicationPath("ExtDirectDemoApp"); $direct->call("init", array("initparameter")); $direct->setParamMethod("setParams"); $direct->processRequest($request); $result = $direct->getResponse()->asArray(); print_r($result);