使用php来实现网络服务
作者:samisa
以下文中的翻译名称对照表
:
payload: 交谈内容
object: 实例
function: 函数
使用
php来实现网络服务
使用框架:
WSO2
WSF/PHP
安装环境:
windows
或者
linux
(厌恶于眼下计算机文章夹杂无数难懂的翻译以及术语,此处尽量使用口语以及汉语。)
WSMessages 类:
在调用网络服务的过程中,需要两个消息,发送的消息和接受的消息,又来有往方能来往不是。
WSMessages 这个类就是在
Web
services framework for php (简称
WSF)这个开源框架中,用来封装这两个消息的类。
WSMessages
有一个很重要的变量
str来保存消息内容,以
xml格式来保存“有效的载荷”
(他们把这个叫做
payload,我查英文字典,就是这个意思,但是它来回的出现,反复的出现,今观之,也就是交谈内容,实际上就是除去那些
xml的定义,以及一些其他的所谓‘命名空间’
->namespace的定义而已。要搞清楚什么是命名空间,请查看
xml的
W3C定义
)。有效载荷实在是莫名其妙,我以后还是用‘交谈内容’来指代它把。
如果你通过客户程序发送一个请求,那么你需要构造一个
WSMessage
的实例,并且用
xml形式的交谈内容填写好这个实例。对应请求的回应,也还是一个‘交谈内容’会通过你的程序返回,并且返回的东西也仍然是一个
WSMessage
实例。
也就是说,你的客户端函数掉应一个网络服务,那么他的返回值也是一个
WSMessage
实例。
你可以在一个函数中发送请求,调用网络服务的程序,并且把返回内容放在
WSMessage实例中,并且让函数返回这个
WSMessage实例。
WSMessage
更倾向于发送和接受比较复杂的内容比如有附件什么的。下面就来详细解释一下如何使用
WSMessage
来实现客户端和服务端的交流。
处理交谈内容:
在此之前已经讲解过如何使用
php来创建网络服务,并且已经做了一个简单的客户
-服务端程序来说明工作流程。但是这些程序并没有深入的解释我们怎么处理‘交谈内容’。换句话来说,我们只是把
xml格式的交谈内容发送到了服务端,但并没有想到去处理它。在这里,我们来详细的解释一下如何处理交谈内容并且把它用到计算程序中去。
交谈内容是一个商业逻辑定义的内容,并且用
SOAP(
Simple
Object Access Protocol)来封装的,(请参见
SOAP
w3c的文章)。让我们用个例子来说明如何计算一个阶乘吧。
客户端需要发送的交谈内容:
<getFactorial
相关文档:
ASP.NET vs. PHP,哪个更快?
http://www.infoq.com/cn/news/2009/09/aspnet-php-benchmark
作者 赵劼 发布于 2009年9月15日 上午5时33分
社区 .NET 主题 性能和可伸缩性 标签 PHP, ASP.NET
结论:
我们可以这么认为,对于纯粹的PHP执行性能来说,Linux和Windows相差 ......
原文内容没有变化,在公司快消化了两个系统了,所以打算自己写一个功能还可以的个人系统,我知道网上很多,我也收集了好几个,但是想看看自己能不能做出来,好好加油吧,在筹备的过程中遇到了邮件这样的问题,所以花了点时间研究了一番,网上找到的好内容,拿出来分享一下
引用网址:http://www.china-askpro.com/msg36/qa ......
原文内容没有变化,在公司快消化了两个系统了,所以打算自己写一个功能还可以的个人系统,我知道网上很多,我也收集了好几个,但是想看看自己能不能做出来,好好加油吧,在筹备的过程中遇到了邮件这样的问题,所以花了点时间研究了一番,网上找到的好内容,拿出来分享一下
引用网址:http://www.china-askpro.com/msg36/qa ......
突然想起了在一次面试的时候要我写出未来一天是星期几,当时没有给写出来。现在想想还是觉得对date和mktime的概念很模糊,在这里记录下以备后用:程序如下
<?php
echo date( "l dS 0f F Y h:i:s A" );
echo "<br>";
print("July 1, 2010 is on a " . date("l", mktime(0,0,0,7,11,2010)));
?>
输出结果 ......