當前位置:首頁 » 編程語言 » php調用restful

php調用restful

發布時間: 2025-04-16 00:28:06

php哪個框架適合做api

在所有輕量級框架中,我推薦 CodeIgniter。 美中不足就是,框架入門極其簡單。但是,如果實現 完全的、優雅的 restful,門檻就有點兒高了。CodeIgniter 實現 restful 時,和底層的 HTTP 協議有些脫節,這些可以通過擴展框架來實現,而且有時候需要結合伺服器去配置。

⑵ php curl 調用 elasticsearch 怎麼傳參

ElasticSearch是一個基於Lucene的穩定的、分布式、RESTFul的搜索引擎。其實所謂的RestFul就是它提供URL供你調用(建立索引和進行檢索),不過直接這樣使用實在是太兇殘了。所以,它也提供了一系列client包,相當於將curl請求封裝了,client包支持的語言包括Java、PHP、Python、Ruby和Perl等等。
PHP版的client包叫做elasticsearch-php,可以在Git_hub上下載。

要使用elasticsearch-php有如下三個要求:
1.PHP的版本在5.3.9以上,我用的是PHP5.3.23
2.在項目中使用Composor來管理包,下載地址如下:https://getcomposer.org/
3.在php.ini中開啟curl和openssl
要使用elasticsearch,需要JDK的版本大於6,最好選擇8吧,因為7有漏洞....
截一張需要的包圖:

啟動elasticsearch很簡單,直接進入解壓目錄,運行elasticsearch.bat就可以了,看到最後console輸出start,就啟動成功了。

接下來介紹如何使用elasticsearch-php:

1.新建一個文件夾取名為test,此為項目文件夾
2.在裡面放入一個命名為composer.json的文件,文件內容為:

[html] view plain
{
"require":{
"elasticsearch/elasticsearch" : "~1.2"
}
}
3.將composer.phar拷貝到test文件夾中,cd 到test文件夾,輸入命令:php composer.phar install --no-dev 等待安裝成功

這個時候test文件夾下面應該會出現vendor文件夾,裡面有elasticsearch、composer、guzzle等文件夾,很多內容
4.這個時候,就可以使用elasticsearch進行建立索引和進行檢索了

[php] view plain
<?php
require_once('vendor/autoload.php');
function get_conn(){
$host = 'ip';
$dbname = 'dbname';
$user = 'user';
$passwd = 'passwd';

$conn = new PDO("pgsql:dbname=$dbname;host=$host",$user,$passwd);
return $conn;
}

function create_index(){
//Elastic search php client
$client = new Elasticsearch\Client();
$sql = "SELECT * FROM log";
$conn = get_conn();
$stmt = $conn->query($sql);
$rtn = $stmt->fetchAll();

//delete index which already created
$params = array();
$params['index'] = 'log_index';
$client->indices()->delete($params);

//create index on log_date,src_ip,dest_ip
$rtnCount = count($rtn);
for($i=0;$i<$rtnCount;$i++){
$params = array();
$params['body'] = array(
'log_date' => $rtn[$i]['log_date'],
'src_ip' => $rtn[$i]['src_ip'],
'dest_ip' => $rtn[$i]['dest_ip']
);
$params['index'] = 'log_index';
$params['type'] = 'log_type';

//Document will be indexed to log_index/log_type/autogenerate_id
$client->index($params);
}
echo 'create index done!';
}

function search(){
//Elastic search php client
$client = new Elasticsearch\Client();
$params = array();
$params['index'] = 'log_index';
$params['type'] = 'log_type';
$params['body']['query']['match']['src_ip'] = '1.122.33.141';

$rtn = $client->search($params);
var_mp($rtn);
}

set_time_limit(0);
//create_index();
search();
?>

建立索引成功,可以看到「create index done!」
查詢成功,可以看到返回的結果數組。

熱點內容
dbscan聚類python 發布:2025-07-14 21:36:09 瀏覽:30
海島圖怎麼配置槍 發布:2025-07-14 21:35:07 瀏覽:323
安卓備忘錄怎麼轉蘋果去 發布:2025-07-14 20:57:16 瀏覽:114
加密貨幣app 發布:2025-07-14 20:46:57 瀏覽:554
醫院防汛演練方案與腳本 發布:2025-07-14 20:41:11 瀏覽:778
公網ip做域伺服器地址 發布:2025-07-14 20:40:13 瀏覽:52
php獲取幾 發布:2025-07-14 20:22:20 瀏覽:376
舊安卓如何刷入最新安卓 發布:2025-07-14 20:16:14 瀏覽:763
伺服器或網路不給力是什麼意思 發布:2025-07-14 20:15:36 瀏覽:318
爬網站資料庫 發布:2025-07-14 20:15:20 瀏覽:520