发新话题
打印

Introduce Hessian PHP

Introduce Hessian PHP

Hessian是Caucho公司所定义的一个remoting on http的轻量级的remoting工具。基于自定义的binary的协议。起初只有Java的实现,而现在是4面开花,.Net,C++,Ruby,PHP的实现皆有出现.而且重要的一点是,所有client和server是互通的,也就是php可以call java的server。 PHP有个非常薄弱的地方,就是在remoting。几乎没有好的remoting方案。曾见过一个基于php的serialize机制的一种remoting方案,但php的serialize本身的低效率,加上数据的冗余及数据类型的局限,实质上并无多大可用场所。我并不想夸Hessian,但确实,无论在哪种语言当中,Hessian都可以成为语言本身Remoting机制和Web Service之间的一个很好的选择。并且,就像在Java Hassian中可以无入侵的使用POJO,PHP中你的Class无需任何改变,便可以暴露为Remoting。下面是简单的HessianPHP的使用。 我们来做个简单的计算测试。Hessian Service端提供一个简单的2数相加的Add方法。 CODE registerObject(new HelloWorldService); $wrapper->service(); ?> 而Client也非常简单明了。 CODE '; } try { $url = 'http://localhost:5/hessian/bz/HelloWorldService.php'; $proxy = new HessianClient($url); println( '

Calling mathService.php at'); println( "$url

" ); println( '2 + 5 = '.$proxy->add(2,5) ); } catch(HttpError $ex) { print $ex->getMessage(); } catch(HessianError $hex) { print $hex->getMessage(); } ?>

TOP

发新话题