多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Zend_XmlRpc 使用實例(輕松實現對外接口)

Zend_XmlRpc 使用實例(輕松實現對外接口)

來源:程序員人生   發布時間:2014-12-24 08:43:12 閱讀次數:2942次

Zend_XmlRpc使用實例

轉載請注明出處,尊重原創:41722031

1、Zend_XmlRpc介紹

         1. Zend_XmlRpc_Server:

         Zend_XmlRpc_Server 依照 ? www.xmlrpc.com 上的規格描寫 實現了1個全功能 XML-RPC 服務器。同時,它還實現了允許批量傳輸(boxcarring)的 system.multicall() 方法。

         個人理解,Zend_XmlRpc_Server可以在PHP程序中輕松實現webservice接口的功能,所有對外部的接口都可以在server文件中定義(只添加對外開發的接口),保證接口的安全性和程序的安全性。

         2. Zend_XmlRpc_Client:

         XML-RPC 服務的功能。主要功能包括在 PHP 和 XML-RPC 之間進行類型的自動轉換, 服務代理對象(a server proxy object),和訪問服務器的自省功能 (introspection capabilities)。

         個人理解,就是在其他PHP程序中使用之前程序定義的Zend_XmlRpc_Server里的接口時使用,可以輕松調用Zend_XmlRpc_Server里定義的接口。

2、Zend_XmlRpc使用

         首先我們得創建1個sever類,名字自定義。比如:我現在在我的項目zend_fraemwork創建1個Myserver.php文件,如圖:

          

         這個Myserver.php文件的位置隨意你放,只要是在application下(1般我會創建1個webservice文件夾,上圖為測試,所以隨意放的)。

         Myserver.php文件代碼以下:

<?php

require_once 'Zend/XmlRpc/Server.php';

require_once APPLICATION_PATH.'commonsendMail.php';//先引入項目下的1個要開發出來的接口類

 

$server = new Zend_XmlRpc_Server();

$server->setClass('sendMail','test');//創建1個命名空間為test,然后把sendMail.phpsendMail全部類放入Zend_XmlRpc_Server作為對外的接口

echo $server->handle();//輸出處理要求結果

         這樣就把全部sendMail.php 類都加入到了Zend_XmlRpc_Server中,也就是意味著,只要我在其他程序里用Zend_XmlRpc_Client創建對應客戶端實例,就能夠用這個實例訪問sendMail.php類里的所有方法。$server不但可以setClass,還可以addFunction,也就是只加入類里的某個方法。

   看到這里,大家肯定迫不及待想要看看到底如何如其他程序去使用Zend_XmlRpc_Client來調用sendMail.php里的方法了,好的,先看看如何調用吧。

   我新建1個項目名稱為:zend_fraemwork1,然后在default模塊下的IndexController里試試用Zend_XmlRpc_Client來調用了,結構如圖:

         

         從圖中可以看到,該項目下的common文件夾下根本沒有sendMail.php文件。且看我如何調用這個郵件發送類的發送方法。代碼以下:

$title="測試";

               $body='<h1>這是1封來自MarkTao的測試PHP郵件發送郵件!</h1><a href="#">請確認</a>';

               $address = 'xxx@qq.com';

               try{

                   $client = newZend_XmlRpc_Client('http://192.168.1.104/zend_fraemwork/public/common/Myserver.php'); //這是我本機的IP192.168.1.104,兩個項目都在本機的站點下。根據url實例化Zend_XmlRpc_Client對象。

                   $test  = $client->getProxy('test');//getProxy() 方法接受1個可選參數作為將要代理的遠端服務器的命名空間。如果沒有指定這個命名空間,默許的命名空間會被代理

                   $test->__call(send, array($title, $body, $address));//調用__call方法調用sendMail.php類里的send方法,發送郵件。array是用來傳遞參數用的。

               }catch (Zend_XmlRpc_Client_HttpException $ee){

                   $ee->getMessage();

               }

         這樣,我們就成功的在項目zend_fraemwork1中調用了zend_fraemwork里的sendMail.php類里的send方法,實現了郵件發送功能。

3、總結

         總結1下:首先,我們得保證兩個項目直接是可以通訊的,也就是說網絡是通的;其次,我們得創建好提供外部統1訪問的類,如上述的Myserver.php;然后我們的在該類中通過Zend_XmlRpc_Server對象把需要的類或方法set或add進去,這樣在其他項目里就可以隨時使用Zend_XmlRpc_Client對象進行訪問了。

   特別注意的是:在Myserver.php類里必須引入:

require_once 'Zend/XmlRpc/Server.php';

而在使用Zend_XmlRpc_Client對象的類里也必須使用:

require_once 'Zend/XmlRpc/Client.php';

         最后,國際慣例,歡迎拍磚!

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 手机看片福利日韩国产 | 欧美一级毛片无遮无挡 | 美女免费网站在线视频 | 三级性生活视频 | 久草在线免费福利资源 | 久草在线观看福利视频 | 亚洲 欧美 另类 综合 日韩 | 日本亚洲成高清一区二区三区 | 国产xxxxxx久色视频在 | 老黄网站在线观看免费 | 在线视频免费观看 | 久久亚 | 波多野结衣在线观看视频 | 极品丝袜高跟91白沙发在线 | 国产福利一区二区三区视频在线 | 国产午夜精品久久理论片小说 | 国产精品久久久久久久久久久久久久 | 国产成人精品免费视频大 | 国产福利一区二区三区视频在线 | 免费看黄网址 | 久久中文字幕综合不卡一二区 | 欧美网色| 一级做a爰片久久毛片潮喷 一级做a爰片久久毛片看看 | 最近免费中文字幕大全视频 | 在线黄色免费网站 | free13俄罗斯性xxxxhd | www日本免费视频 | 国产成人一区二区三区精品久久 | 欧美精品第1页在线播放 | 成人一区二区免费中文字幕 | 性欧美激情videos| 日本高清无吗免费播放 | 国产免费私拍一区二区三区 | 91在线视频福利 | tube欧美69xxxx| 一区二区三区在线免费视频 | 国产精品一国产精品 | 国产成人一区二区三区影院免费 | 最近中文字幕国语完整在线5 | 久久久久国产一级毛片高清版 | 亚洲一区二区三区深夜天堂 |