Created
January 4, 2015 23:52
-
-
Save gggeek/26344a07eb212d38ecd7 to your computer and use it in GitHub Desktop.
Integrating phpxmlrpc in Yii
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// autoload_classmap.php @generated by Composer | |
$vendorDir = dirname(dirname(__FILE__)); | |
$baseDir = dirname($vendorDir); | |
return array( | |
// 'ADODB_soap' => $vendorDir . '/phpxmlrpc/extras/adodb/drivers/adodb-soap.inc.php', | |
// 'ADODB_xmlrpc' => $vendorDir . '/phpxmlrpc/extras/adodb/drivers/adodb-xmlrpc.inc.php', | |
// 'ADORecordSet_soap' => $vendorDir . '/phpxmlrpc/extras/adodb/drivers/adodb-soap.inc.php', | |
// 'ADORecordSet_xmlrpc' => $vendorDir . '/phpxmlrpc/extras/adodb/drivers/adodb-xmlrpc.inc.php', | |
// 'ADORecordset_empty_I' => $vendorDir . '/phpxmlrpc/extras/adodb/drivers/adodb-soap.inc.php', | |
// 'documenting_xmlrpc_server' => $vendorDir . '/phpxmlrpc/extras/docxmlrpcs.inc', | |
// 'js_rpc_server' => $vendorDir . '/phpxmlrpc/extras/ajax/ajaxmlrpc.inc', | |
// 'jsonrpc_client' => $vendorDir . '/phpxmlrpc/extras/jsonrpc/jsonrpc.inc', | |
// 'jsonrpc_server' => $vendorDir . '/phpxmlrpc/extras/jsonrpc/jsonrpcs.inc', | |
// 'jsonrpcmsg' => $vendorDir . '/phpxmlrpc/extras/jsonrpc/jsonrpc.inc', | |
// 'jsonrpcresp' => $vendorDir . '/phpxmlrpc/extras/jsonrpc/jsonrpc.inc', | |
// 'jsonrpcval' => $vendorDir . '/phpxmlrpc/extras/jsonrpc/jsonrpc.inc', | |
// 'proxy_xmlrpc_server' => $vendorDir . '/phpxmlrpc/extras/proxy/proxyxmlrpcs.inc', | |
'xmlrpc_client' => $vendorDir . '/phpxmlrpc/phpxmlrpc/lib/xmlrpc.inc', | |
'xmlrpc_server' => $vendorDir . '/phpxmlrpc/phpxmlrpc/lib/xmlrpcs.inc', | |
'xmlrpcmsg' => $vendorDir . '/phpxmlrpc/phpxmlrpc/lib/xmlrpc.inc', | |
'xmlrpcresp' => $vendorDir . '/phpxmlrpc/phpxmlrpc/lib/xmlrpc.inc', | |
'xmlrpcval' => $vendorDir . '/phpxmlrpc/phpxmlrpc/lib/xmlrpc.inc', | |
); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace app\controllers; | |
use yii\web\Response; | |
use xmlrpc_server; | |
use xmlrpcval; | |
use xmlrpcresp; | |
class XmlrpcController extends \yii\web\Controller | |
{ | |
public $layout = false; | |
public $enableCsrfValidation = false; | |
public function actionIndex() | |
{ | |
// let composer do the autoloading | |
//require_once(dirname(__DIR__).'/vendor/phpxmlrpc/phpxmlrpc/lib/xmlrpc.inc'); | |
//require_once(dirname(__DIR__).'/vendor/phpxmlrpc/phpxmlrpc/lib/xmlrpcs.inc'); | |
$methods = array( | |
'getConfigAll' => array( | |
'function' => 'app\controllers\XMLRPCController::getConfig', | |
'docstring' => 'this method returns all config items', | |
'signature' => array(array('struct')), | |
), | |
); | |
$srv = new xmlrpc_server($methods, false); | |
$srv->service(); | |
// avoid Yii from interfering | |
//return $this->render('index'); | |
$response = new Response(); | |
$response->data = ''; | |
$response->format = Response::FORMAT_RAW; | |
return $response; | |
} | |
public static function getConfig($m) | |
{ | |
return new xmlrpcresp(new xmlrpcval( | |
array( | |
"name" => new xmlrpcval("Tom", "string"), | |
"age" => new xmlrpcval(34, "int"), | |
"address" => new xmlrpcval( | |
array( | |
"street" => new xmlrpcval("Fifht Ave", "string"), | |
"city" => new xmlrpcval("NY", "string") | |
), | |
"struct") | |
), | |
"struct")); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment