dittertp / extdirect
Sencha Extjs ExtDirect 实现
1.0.1
2015-06-10 20:14 UTC
Requires
Requires (Dev)
- php: >=5.4.0
- pdepend/pdepend: 2.0.*
- phploc/phploc: 2.0.*
- phpmd/phpmd: 2.1.*
- phpunit/phpunit: 4.4.*
- sebastian/phpcpd: 2.0.*
- squizlabs/php_codesniffer: 2.*
README
ExtApi 示例
<?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;
ExtDirect 请求示例
<?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);
ExtDirect 批量请求示例
<?php require ("../vendor/autoload.php"); use ExtDirect\ExtDirect; $request1 = array(); $request1['type'] = "rpc"; $request1['tid'] = 1; $request1['action'] = "DemoApp"; $request1['method'] = "getTree"; $request1['data'] = array("demoKey"=>"demoValue"); $request2 = array(); $request2['type'] = "rpc"; $request2['tid'] = 2; $request2['action'] = "DemoApp"; $request2['method'] = "getList"; $request2['data'] = array("demoKey"=>"demoValue"); $request = array($request1, $request2); $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);
使用注解的示例
/** * @Direct(name="DemoApp") */ class DemoAppController { /** * @Remotable(name = "getTree") */ public function TreeAction() { return array("success"=>true); } /** * @Remotable(name = "getList") */ public function ListAction() { return array("success"=>true); }
“应用程序”示例
在 composer.json 中自动加载配置中添加示例演示
"autoload": { "psr-0": { "ExtDirect": "src/", "ExtDirectDemoApp": "Example/" } }
然后执行 composer update
。现在您可以在 Example
文件夹中运行脚本
cd Example
php api.php
php direct.php
php batchedDirect.php