㈠ php怎麼調用其他網站提供的api 介面
在這里openUser.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
需要在PHP代碼中執行這條鏈接他就會返回。
GET方式的直接使用
$file_contents = file_get_content('http://localhost/openUser.php?act=get_user_list&type=json')
POST方式得用下面的。
$url = 'http://localhost/openUser.php?act=get_user_list&type=json';
$ch = acurl_init ();
acurl_setopt ( $ch, CURLOPT_URL, $url );
acurl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
acurl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
acurl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交
$file_contents = curl_exec ( $ch );
㈡ 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如何調用jsp介面
php調用jsp介面的方法是使用curl_exec函數實現的。
使用函數: file_get_contents($url);
$URL ='http://hostname:8080...1¶m2=value2'; //定義訪問jsp的url
//初始化curl
$ch = curl_init();
//設置curl返回結果
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//設置url
curl_setopt($ch, CURLOPT_URL, $URL);
//執行調用
$data = curl_exec($ch) or die(curl_error($ch));
//關閉連接
curl_close($ch);
print $data;
㈣ 怎麼在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中調用介面
JavaScript Document
function show(str)
{
var str1="td"+str;
var str="show"+str;
for (var i=1; i<18; i++)
{
var obj = document.getElementById('show' + i.toString());
if (obj) obj.style.display = 'none';
}
document.getElementById(str).style.display="block";
}
㈥ 求教:php介面實現調用
這算程序設計思想。
normaluser 為用戶類型的一種----普通用戶 只能修改自己的屬性
useradmin 是管理用戶的 用這種思路你可以很簡單的實現 統一管理不同類型的用戶,只要用戶實現了User ,你也可以很容易的建立擁有不同許可權的管理員。
㈦ PHP如何調用API介面
他會提供相應介面給你的,具體調用方法就相當於講求某個鏈接。act=get_user_list&type=json在這里operate.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。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中調用自己編寫的DLL庫中的函數介面
在 DLL工程中的 cpp中函數定義如下:
extern "C" _declspec (dllexport )
int fun(int a, char b)
{
return a + b;
}
第一種方法 隱式調用:
調用的 DLL的主工程的 文件中代碼如下:
// 先把 lib 鏈接進來
#pragma comment (lib , "..//Debug//FuncDll.lib" )
// 外部聲明的 add 函數
extern "C" _declspec (dllimport )
int fun(int a, char b);
int TestDll()
{
// 直接調用 fun函數
printf("%d/n" , fun(5, 2));
return 0;
}
第二種方法 顯式調用:
調用的 DLL的主工程的 文件中代碼如下:
int TestDLL()
{
HMODULE hMole = NULL;
typedef int (*Func)(int a, int b);
// 動態載入 DLL 文件
hMole = LoadLibrary(_TEXT("..//Debug//FuncDll.dll" ));
// 獲取 fun函數地址
Func fAdd = (Func)GetProcAddress(hMole, "fun" );
// 使用函數指針
printf("%d/n" , fAdd(3, 1));
// 釋放指針
FreeLibrary(hMole);
return 0;
}
㈨ 如何用php調用外部介面json數據
兩種比較簡單的方法:
1、使用curl
$url="http://www.xxxxxxxxxx.com/";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
$output=curl_exec($ch);
curl_close($ch);
echo$output;
2、使用file_get_contents
$output=file_get_contents($url);
echo$output;
3 、使用socket 也是可以的
㈩ php中如何調用介面以及編寫介面代碼詳解
可以用curl獲取借樓的信息。
所謂介面,就是提供一個url,只要你滿足它要求的參數,就能得到你要的數據。比如你拿到一個介面,帶上所需的參數,復制到地址欄同樣能得到。不過最好用程序得到。file_get_contents也可以用,不過有局限性。所以我建議用curl。給你一個函數,挺好用的。
function request($url,$https=true,$method='GET',$data=null){
$ch = curl_init();//初始化,得到資源
curl_setopt($ch, CURLOPT_URL,$url); //請求數據的路徑
curl_setopt($ch, CURLOPT_HEADER,false);//是否輸出頭
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不直接輸出結果
//curl_setopt ($ch, CURLOPT_SAFE_UPLOAD, 0);//兼容php之後的版本
if($https){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //是否驗證主機
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //是否進行證書驗證
}
if($method=='POST'){
curl_setopt($ch, CURLOPT_POST, true); //POST傳輸
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //傳輸數據
}
$content_json = curl_exec($ch);
if ($content_json === false) {
return "網路請求出錯: " . curl_error($ch);
}
curl_close($ch);
return $content_json;
}