當前位置:首頁 » 編程語言 » 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 瀏覽:479
    燕山大學編譯原理期末考試題 發布:2024-11-05 20:13:54 瀏覽:528
    華為電腦出現臨時伺服器 發布:2024-11-05 20:05:08 瀏覽:408
    斗戰神免費挖礦腳本 發布:2024-11-05 19:53:25 瀏覽:665
    網吧伺服器分別是什麼 發布:2024-11-05 19:45:32 瀏覽:392