利用PHP SOAP扩展实现简单Web Services,soapservices
WebServices能干什么?
WebServices 可以将应用程序转换为网络应用程序。
通过使用 WebServices,您的应用程序可以向全世界发布信息,或提供某项功能。
好了,关于WebServices网上资料很多,就不过多介绍了,直接进入主题。
PHP有两个扩展类库可以实现WebServices,一个是NuSoap,一个是php官方自带的Soap扩展,在使用上大致都差不多,就拿官方自带的Soap扩展来说吧。
在Soap编写WebServices中主要用到了SoapClient,SoapServer,SoapFault三个类。
SoapClient:用户访问的类,也就是客户端,使用WebServices的类
SoapServer:提供WebServices类,服务端
SoapFault:异常处理类
作为示例,写个超级简单的的WebServices来感受下吧,直接代码说话
1、Myself.class.php --业务逻辑类,功能实现类
<span>1</span> <?<span>php </span><span>2</span> <span>//</span><span>业务逻辑类</span> <span>3</span> <span>class</span><span> Myself{ </span><span>4</span> <span>public</span> <span>function</span><span> info(){ </span><span>5</span> <span>return</span> "新浪微博:Balla_兔子,求关注啦~"<span>; </span><span>6</span> <span> } </span><span>7</span> <span> } </span><span>8</span> ?>
很简单,无需多余解释,返回一个字符串。
2、soapServer.php --服务端类,提供服务
<span> 1</span> <?<span>php </span><span> 2</span> <span>//</span><span>服务端</span> <span> 3</span> <span>require_once</span>('Myself.class.php'<span>); </span><span> 4</span> <span>$parameter</span>=<span>array</span><span>( </span><span> 5</span> 'uri'=>'http://localhost/', <span> 6</span> 'location'=>'http://localhost/soap/soapServer.php' <span> 7</span> <span> ); </span><span> 8</span> <span>$soapServer</span>=<span>new</span> SoapServer(<span>null</span>,<span>$parameter</span><span>); </span><span> 9</span> <span>$soapServer</span>->setClass('Myself'<span>); </span><span>10</span> <span>$soapServer</span>-><span>handle(); </span><span>11</span> ?>
SoapServer有两种操作模式:
上面举例的是non-WSDL模式,在实例化SoapServer类时,一个参数是放WSDL文件,在non-WSDL模式里,可以为空,把配置参数以数组的形式写在第二个参数。
如果用的是WSDL模式,可以直接用WSDL文件让服务器读取配置参数,此时可以省略第二个数组参数。
配置参数有许多,上面为简单举例只列出2个,具体大家可以在网上查查
uri --命名空间
location --服务地址
1、WSDL模式 在WSDL模式中,构造器可以使用WSDL文件名作为参数,并从WSDL中提取服务所使用的信息。
2、non-WSDL模式 在non-WSDL模式中,使用参数来传递要使用的信息,用来管理服务的行为。
在SoapServer类的众多方法中,有三个方法比较重要。它们是SoapServer::setClass()、SoapServer::addFunction()、SoapServer::handle()。
特别注意,在handle方法之前之后均不能输出任何参数,否则会出错。
3、soapClient.php --客户端类,使用服务
<span> 1</span> <?<span>php </span><span> 2</span> <span>//</span><span>客户端</span> <span> 3</span> <span>$parameter</span>=<span>array</span><span>( </span><span> 4</span> 'uri'=>'http://localhost/', <span> 5</span> 'location'=>'http://localhost/soap/soapServer.php' <span> 6</span> <span> ); </span><span> 7</span> <span>try</span><span>{ </span><span> 8</span> <span>$soapClient</span>=<span>new</span> SoapClient(<span>null</span>,<span>$parameter</span><span>); </span><span> 9</span> <span>echo</span> <span>$soapClient</span>-><span>info(); </span><span>10</span> <span>11</span> }<span>catch</span>(<span>Exception</span> <span>$e</span><span>){ </span><span>12</span> <span>echo</span> <span>$e</span>-><span>getMessage(); </span><span>13</span> <span> } </span><span>14</span> <span>15</span> ?>
SoapClient类可以作为给定WebServices的客户端。
它有两种操作形式:(和SoapServer的两种模式差不多)
1、WSDL 模式
2、Non-WSDL 模式
以上就是利用PHP SOAP扩展实现的简单WebServices,我们访问soapClient.php试试看
轻松搞定~
附:
现在大多的WebServices接口的返回值是JSON或XML,我们可以在内部自己定义赋值。
常用函数 file_get_contents、json_encode、json_decode等
这里有篇关于json操作时该注意的事项:http://www.cnblogs.com/lichenwei/p/3888586.html
把文件用二进制读取,然后把他作为xml的实体传递就好了 查看原帖>>
baike.baidu.com/view/2099744.htm

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

如何利用GitLab进行项目文档管理一、背景介绍在软件开发过程中,项目文档是非常重要的资料,不仅能够帮助开发团队了解项目的需求和设计,还能提供给测试团队和客户参考。为了方便项目文档的版本控制和团队协作,我们可以利用GitLab来进行项目文档管理。GitLab是一个基于Git的版本控制系统,除了支持代码管理,还可以管理项目文档。二、GitLab环境搭建首先,我

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。