当前位置:首页 » 编程语言 » php服务接口

php服务接口

发布时间: 2023-03-14 04:00:29

php中的接口是指什么

接口interface是一个规定,给人继承用的东西,有点像抽象类。

接口定义了实现某种服务的一般规范,声明了所需的函数和常量,但不指定如何实现。之所以不给出实现的细节,是因为不同的实体可能需要用不同的方式来实现公共的方法定义。关键是要建立必须实现的一组一般原则,只有满足了这些原则才能说实现了这个接口。

(1)php服务接口扩展阅读

PHP接口(interface)的特点 :

1、接口的方法必须是公开的。

2、接口的方法默认是抽象的,所以不在方法名前面加abstract。

3、接口可以定义常量,但不能定义成员属性,常量的定义和用法和类中常量一样。

4、类可以实现多个接口(相当于把多个功能集于一身,如手机实现了小灵通、MP3、MP4的功能)

5、接口也可以继承接口。

PHP同大多数的面向对象语言一样,并不支持多重继承。如果需要实现多重继承功能,在PHP中,可以通过接口,它是PHP解决多重继承问题的方法,在php5.4版本之后有个类的新特性trait,有兴趣的可以网络下。

Ⅱ 怎么在PHP中定义和使用接口interface

1、接口的定义:
接口:一种成员属性为抽象的特殊抽象类,在程序中同为规范的作用
2、其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这 个时候PHP接口类interface就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如 :
interface Shop
{
public function buy($gid);
public function sell($gid);
public function view($gid);
}
我声明一个shop接口类,定义了三个方法:买(buy),卖(sell),看(view),那么继承此类的所有子类都必须实现这3个方法少一个都 不行,如果子类没有实现这些话,就无法运行。实际上接口类说白了,就是一个类的模板,一个类的规定,如果你属于这类,你就必须遵循我的规定,少一个都不 行,但是具体你怎么去做,我不管,那是你的事,如:
class BaseShop implements Shop { public function buy($gid) { echo('你购买了ID为 :'.$gid.'的商品'); } public function sell($gid) { echo('你卖了ID为 :'.$gid.'的商品'); } public function view($gid) { echo('你查看了ID为 :'.$gid.'的商品'); } }
结论 : PHP接口类interface就是一个类的领导者,指明方向,子类必须完成它指定方法。这样不同的开发者就不要去了解别人怎么命名相应的方法。
3、php中使用接口(interface)实现多重继承:
我们都知道PHP中的类(class)是单继承的,那是不是就没有办法实现多重继承了呢?答案是否定的.我们可以通过其它特殊的方式实现类的多重 继承,比如使用接口(interface)实现,只要把类的特征抽象为接口,并通过实现接口的方式让对象有多重身份,通过这样就可以模拟多重继承了。
下面是一个用接口(interface)实现多重继承的例子,源代码如下:
<?php
interface UserInterface{ //定义User的接口
function getname();
}
interface TeacherInterface{ //teacher相关接口
function getLengthOfService();
}
class User implements UserInterface { //实现UserInterface接口
private $name = "tom";
public function getName(){
return $this->name;
}
}
class Teacher implements TeacherInterface { //实现TeacherInterface接口
private $lengthOfService = 5; // 工龄
public function getLengthOfService(){
return $this->lengthOfService;
}
}
// 继承自User类,同时实现了TeacherInterface接口.
class GraateStudent extends User implements TeacherInterface {
private $teacher ;
public function __construct(){
$this->teacher = new Teacher();
}
public function getLengthOfService(){
return $this->teacher->getLengthOfService();
}
}
class Act{
//注意这里的类型提示改成了接口类型
public static function getUserName(UserInterface $_user){
echo "Name is " . $_user->getName() ."<br>";
}
//这里的类型提示改成了TeacherInterface类型.
public static function getLengthOfService(TeacherInterface $_teacher){
echo "Age is " .$_teacher->getLengthOfService() ."<br>";
}
}
$graateStudent = new GraateStudent();
Act::getUserName($graateStudent);
Act::getLengthOfService($graateStudent);
//结果正如我们所要的,实现了有多重身份的一个对象.
?>
示例运行结果如下:
Name is tom
Age is 5
4、接口类和抽象类的区别
抽象类 :1.类中至少有一个抽象方法
2.前面加abstract
接口: 1.成员属性为常量const
2.前面不用加abstract
3.类中全部为抽象方法,接口抽象方法为public
5、接口类和抽象类 共同点:
1.本身不能被实例化,必须继承或者引用
2.继承和引用后,抽象方法必须重载才能实例化
关键字 interface.引用关键字 implements

Ⅲ php调用sap和.net的webservices接口

php连接sapwebservices接口

public function getwebservice($param){

  $user = 'username';

  $password = 'password';

  $wsdl = '*****';   /*wsdl地址*/

$SOAP_CONFIG = array(

          'login' => $user,

        'password' => $password,

          'trace' =>true,

          'soap_version'=>SOAP_1_2,

          'connection_timeout' => 50,

          'encoding' => 'UTF-8',

          'cache_wsdl' => WSDL_CACHE_NONE,

          'keep_alive' => false

          );

        try {

                $client = new \SoapClient($wsdl, $SOAP_CONFIG); //调用sap里的接口

                /* $param= array(

                        '参数1'    =>    '1',

                        '参数2'    => '2',

                        '参数3'    =>  '3',

                        '参数4'    =>    '4');*/

                $ve=$client->__call("ZSdSoInfo", array($param));

              return $ve;

    } catch (Exception $e) {

                  print $e->getMessage();

      }

}

php链接.net接口

$ws = "http://*****?wsdl";//webservice服务的地址

    $client = new SoapClient ($ws);

    $result=$client->kelOtp(array('参数1'=>参数1,'参数2'=>参数2);

    $a= $result->kelOtpResult;/

Ⅳ php如何调用api接口,主要是php调用联通,移动api进行短信的发送

他会提供相应接口给你的,具体调用方法就相当于讲求某个链接。

如:
http://localhost/operate.php?act=get_user_list&type=json

在这里operate.php相当于一个接口,其中get_user_list 是一个API(获取用户列表),讲求返回的数据类型为JSON格式。

你只需要在你PHP代码中执行这条链接他就会返回。
GET方式的直接使用
$file_contents = file_get_content('http://localhost/operate.php?act=get_user_list&type=json')

POST方式得用下面的(需要开启PHP curl支持)。
$url = 'http://localhost/operate.php?act=get_user_list&type=json';
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt ( $ch, CURLOPT_POST, 1 ); //启用POST提交
$file_contents = curl_exec ( $ch );
curl_close ( $ch );

Ⅳ 用PHP做服务器接口客户端用http协议POST访问安全性一般怎么做

1.请求头里带用户username和password,到服务器端做验证,通过才继续下边业务逻辑。
优点:防止了服务器端api被随意调用。
缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。
2.第一次请求,要求username和password,验证通过,种cookie到客户端,app保存cookie值。
每次请求带上cookie。
点评:和pc上浏览器认证的原理一样了。
以上两点,只有注册用户,才能有权访问业务逻辑,而app有大量的不需要注册数据api。

Ⅵ PHP 的API接口

使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证

原理

从图中可以看得很清楚,前台想要调用接口,需要使用几个参数生成签名。

时间戳:当前时间

随机数:随机生成的随机数

口令:前后台开发时,一个双方都知道的标识,相当于暗号

算法规则:商定好的运算规则,上面三个参数可以利用算法规则生成一个签名。前台生成一个签名,当需要访问接口的时候,把时间戳,随机数,签名通过URL传递到后台。后台拿到时间戳,随机数后,通过一样的算法规则计算出签名,然后和传递过来的签名进行对比,一样的话,返回数据。

算法规则

在前后台交互中,算法规则是非常重要的,前后台都要通过算法规则计算出签名,至于规则怎么制定,看你怎么高兴怎么来。

我这个算法规则是

  • 时间戳,随机数,口令按照首字母大小写顺序排序

  • 然后拼接成字符串

  • 进行sha1加密

  • 再进行MD5加密

  • 转换成大写。

    热点内容
    动态规划01背包算法 发布:2024-11-05 22:17:40 浏览:849
    nasm编译器如何安装 发布:2024-11-05 22:01:13 浏览:180
    登录密码在微信的哪里 发布:2024-11-05 22:00:29 浏览:739
    c防止反编译工具 发布:2024-11-05 21:56:14 浏览:247
    安卓虚拟机怎么用 发布:2024-11-05 21:52:48 浏览:344
    php时间搜索 发布:2024-11-05 20:58:36 浏览:478
    燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:527
    华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:408
    斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:665
    网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:392