第一步:服务端文件
<?php $wsdlfile='webservice.wsdl'; ini_set('soap.wsdl_cache_enabled','0'); //关闭WSDL缓存 //001.创建webservice接口类 class UserAction{ //创建用户方法 public function create($username,$password) { return 'Create success!'; } //删除用户方法 public function del($userid) { return 'Del success!'; } } //002.通过第三方类库创建生成wsdl文件 require_once 'SoapDiscovery.class.php'; $SoapDis=new SoapDiscovery('UserAction','soap'); //soap可以自己定义,无所谓的 $WsdlRev=$SoapDis->getWSDL(); //if(!file_exists($wsdlfile)){ file_put_contents($wsdlfile, $WsdlRev); //} //003.通过wsdl创建服务 $webserver = new SoapServer($wsdlfile); $webserver->setClass('UserAction'); $webserver->handle();
第二步:客户端文件
<?php $ws=new SoapClient('http://learn.cn/webservice.wsdl'); $ret=$ws->create('gao','123456'); var_dump($ret); ?>
下载demo:
<?php /* * 单粒模式,只能造出一个对象 1.肯定每次new只能返回一个对象,可以使用静态方法解决 2.子类继承也禁止重写构造方法,添加final搞定 * */ ...
因为一个TP项目中客户需要全部网页分享支持自定义图片和描述信息,于是自己封装了下 //share()微信分享链接 //参数1 appid //参数2 appsert //参数3 nonceStr随机码 //参数4 timestamp时间戳 public&nb...
先看看下面的代码:<?php session_start(); $_SESSION['username']='lucy'; ?>当我们请求访问上面的脚本,默认会在我们的客户端生成一个名为PHPSESSID的cookie,我这里的值是PHPSESSID=...
先在centos安装openssl,然后开始://生成私钥openssl genrsa -out rsa_private_key.pem 1024//生成公钥openssl rsa -in rsa_private_key.pem&...
php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...