phpguzzle
Ⅰ php如何調用以太坊介面
curl方法,file_get_contents,
Ⅱ 有哪些適合練手的PHP項目
1. 項目名稱:輕量級 B2C 商城系統
項目簡介:本項目是一個擁有 PC 端 + H5 移動端的超輕量,功能強大的 B2C 商城系統。
技術實現:
核心框架:基於全新超輕量高性能Speed框架
JS框架:jQuery 1.10.2
移動端JS框架:Zepto 1.2.0
圖表庫:Flot 0.8.3
富文本編輯器:網路 精簡版 UMeditor
JS模板引擎:Juicer 0.6.8
運行環境:
操作系統: Windows / Linux / Unix
Web 伺服器:Apache / Nginx / IIS
PHP 版本:5.2 及以上
MySQL 版本:5.0 及以上
生產環境推薦:Linux + Nginx + PHP5.5 + MySQL5.6
項目地址:cigery/verydows - 碼雲
2、項目名稱:基於 PHP 的輕量級路由器
項目簡介:非常輕量級的路由器。無依賴、簡潔、速度快、自定義性強。
輕量級且速度快,查找速度不受路由數量的影響。
支持路由參數定義,以及路由選項(比如設定 domains、schema 等檢查限制)。
支持請求方法:GET POST PUT DELETE HEAD OPTIONS ...
支持事件: found notFound execStart execEnd execError,當觸發事件時你可以做一些事情(比如記錄日誌等)。
支持動態獲取 action 名。支持設置方法執行器(actionExecutor),通過方法執行器來自定義調用真實請求方法。
支持自動匹配路由到控制器就像 yii 一樣,請參看配置項 autoRoute。
支持通過方法 SRouter::dispatch($path, $method) 手動調度一個路由。
你也可以不配置任何東西,它也能很好的工作。
項目地址:inhere/php-srouter - 碼雲
3. 項目名稱:輕量級論壇社區系統
項目簡介:本項目是一個基於 CodeIgniter 框架開發的 PHP 新型社區系統,她輕量小巧、簡單易用、強大高效,又簡稱 」STB(燒餅 BBS)。
項目地址:燒餅/startbbs - 碼雲
4. 項目名稱:基於 PHP 的三維驗證碼
<img src="https://pic2.mg.com/50/v2-_hd.png" data-rawwidth="360" data-rawheight="80" class="content_image" width="360">
項目簡介:打破傳統的,基於 PHP 的 3d 英文字母驗證碼,圖片粒子化,機器難以識別邊界,破解難度極大。
項目地址:Quekie/Safe 3D Identifying Code
5. 項目名稱:基於 PHP 的多進程網路爬蟲框架
<img src="https://pic4.mg.com/50/v2-_hd.jpg" data-rawwidth="650" data-rawheight="800" class="origin_image zh-lightbox-thumb" width="650" data-original="https://pic4.mg.com/v2-_r.jpg">
項目簡介:Beanbun 是一個簡單可擴展的爬蟲框架,支持分布式,支持守護進程模式與普通模式,守護進程模式基於 Workerman,下載器基於 Guzzle。
特點:
支持守護進程與普通兩種模式(守護進程模式只支持 Linux 伺服器)
默認使用 guzzle 進行爬取
支持分布式
支持內存、Redis 等多種隊列方式
支持自定義URI過濾
支持廣度優先和深度優先兩種爬取方式
遵循 PSR-4 標准
爬取網頁分為多步,每步均支持自定義動作(如添加代理、修改 user-agent 等)
靈活的擴展機制,可方便的為框架製作插件:自定義隊列、自定義爬取方式...
項目地址:Kiddyu/Beanbun - 碼雲
Ⅲ php爬蟲框架哪個好用
Beanbun使用的是workman和guzzle,資料庫使用的是medoo,支持分布式部署,可以使用內存(估計是workman自帶的容器內)和redis做隊列,可以方便靈容活的製作插件,擴展性強。
Beanbag安裝方便,可以使用composer進行安裝:
$composerrequirekiddyu/beanbun
Ⅳ PHP 微型框架有什麼好的推薦嗎
1. Cake PHP
\
CakePHP是一個擁有極大靈活性的開發,維護和部署的快速開發框架。使用非常常見的MVC和ORM設計模式,及其配置規則幫助大家簡化開發過程而無須開發過多的代碼
和ZF類似,CakePHP不要求配置。使用簡單。在IRC上擁有非常友好的社區#cakePHP,用來幫助新的用戶快速開始學習。基於MIT License,擁有最佳實踐,例如,安全,認證和session處理。擁有面對對象的方式幫助你更簡單的使用。
源代碼
2. Yii Framework
\
Yii是一個免費,開源的web應用開發框架,使用PHP5開發,幫助開發干凈,簡潔的設計並且鼓勵開發開發。它幫助流水化的開發應用,並且保證高效,可擴展和易維護。性能極大的優化,非常適合開發任何類型的產品和項目。然而,它內建復雜,企業級別的應用。你擁有完整的控制,包括表現層和持久層,符合了企業級別開發的指導方針
源代碼
3. Zend
\
Zend Framework 2 是一個使用PHP5.3+來開發web應用和服務的開源框架。使用100%的面對對象的代碼並且使用PHP5.3種的新特性,例如名字空間,late static binding,lamda function和closure。Zend framewok 2 由成功的PHP框架Zend Framework 1演變而來,而Zend framework 1擁有1500萬的下載量。Zend framework2擁有獨特的組件結構,每一個組件都設計的盡量少和其它組件產生依賴關系。 ZF2遵循了嚴格的面對對象的設計原理。這種非嚴格的組件關系結構允許開發人員使用任何他想使用的組件。
源代碼
4. Symfony
\
Smyfony是一個web應用框架,遵循了典型的MVC(model view controller)的設計結構,現在越來越受歡迎,Symfony基於MIT license,它使用一些PHP代碼類的輔助類庫得開發的過程簡單
源代碼
5. Webasyst
\
webasyst是一個開源的PHP框架用來開發平滑的多用戶web應用或者復雜的網站。和其它的框架,例如,zend和symfony,比較起來,Webasyst框架更專注,並且允許更快和更高效的創建基於商業和團隊使用的應用。這個框架提供了大量的現成的工具用來管理用戶和授權,UI創建,移動端的訪問等等
源代碼
6. Laravel
\
Laravle是一個定位於優雅簡單的PHP框架。變成不會變的苦悶。事實上,使用正確的工具絕對是讓它成為一個讓人愉悅的事情。Laravel適合所有的PHP開發人員,特別是初學者。除了完善的文章,Laravel的友好的社區一直幫助回答文檔上沒有涉及到的相關問題。使用Bundle來打包和分享代碼絕對是一個非常棒的方式
源代碼
7. Guzzle
\
Guzzle是一個幫助大家解決發送HTTP請求和創建web service 客戶端中多餘的步驟的框架。包含了用來創建強壯的web service客戶端的工具,其中: 定義輸入和輸出的服務描述API,用來遍歷分頁資源的資源迭代,高效發送大量請求等等。
源代碼
8. Phalcon PHP
\
Phalcon PHP是一個被發布成為C擴展並且提供高性能和低資源消耗的web框架。使用C書寫,平台無關。作為這樣的框架,PHP支持微軟的windows系統, GNU/linux,Max OSX,你可以下載一個適合你的系統的二進制包或者自己編譯
源代碼
9. CodeIgniter
\
Codelgiter是一個強大的PHP框架,擁有非常小的體積,針對需要使用簡單優雅的工具套件開發完整特性的web應用而開發。如果你需要處理共享主機賬號或者客戶時間有限制,並且厭倦了沒有文檔的大型框架的話,Codeignier可能非常適合你
源代碼
10. Fuel PHP
\
Fuel是一個簡單,靈活,社區驅動的PHP5.3 web框架,基於其它框架中的好的想法而開發一個框架。在Apache,,IIS和Nginx上測試過。Fuel使用另外一種方式實現,和其它框架不同,它努力成為社區驅動的框架。剛成立不到6個月,已經有30多個開發人員貢獻了代碼和文檔。
Ⅳ 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!」
查詢成功,可以看到返回的結果數組。
Ⅵ 使用guzzle要開啟php的什麼擴展
建查詢語句、POST請求、分流上傳下載大文件、使用HTTP cookies、上傳JSON數據等等。
發送同步或非同步的請求均使用相同的介面。
如果想要了解更多的話,可以去後盾人轉轉,也許會有意想不到的收獲
Ⅶ github上有哪些值得學習的優秀的php開源項目
太多太多,數不過來:
laravel
symfony
phalcon
guzzle
slim
PHPExcel
Ⅷ php 多線程Guzzle pthreads Swoole都有些什麼區別
pthreads這個擴展和swoole沒有任何聯系,不同的PHP擴展。
Ⅸ php中怎麼使用guzzlehttp
直接在 composer.json 的 require 一項中加入,
"guzzlehttp/guzzle": "6.*"
然後運行:composer update
就這樣使用的,我也是在後盾人實回訓班學會的的現在包答住宿的哦
Ⅹ proxy.php什麼意思
PHP 代理腳本 php-proxy
php-proxy 是基於 PHP,Symfony 和 cURL 的代理腳本,這個庫借鑒了 Glype,Jenssegers proxy 和 Guzzle 的經驗。
示例
require('vendor/autoload.php');
use Proxy\Http\Request;
use Proxy\Proxy;
$request = Request::createFromGlobals();
$proxy = new Proxy();
$proxy->getEventDispatcher()->addListener('request.before_send', function($event){$event['request']->headers->set('X-Forwarded-For', 'php-proxy');});
$proxy->getEventDispatcher()->addListener('request.sent', function($event){if($event['response']->getStatusCode() != 200){die("Bad status code!");
}
});
$proxy->getEventDispatcher()->addListener('request.complete', function($event){$content = $event['response']->getContent();$content .= '<!-- via php-proxy -->';
$event['response']->setContent($content);});
$response = $proxy->forward($request, "http://www.yahoo.com");// send the response back to the client
$response->send();
Athlon1600 / php-proxy
Watch17 Star73 Fork36
A web proxy script written in PHP and built as an alternative to Glype. — More...
https://php-proxy.com
Issues
#25 Install in Laravel 5.2 encountered a bug by cynhard 2016-11-28#38 transfer-encoding: chunked misleads browser by h2g-internetagentur 2016-11-14#37 Better content-type check by JClerc 2016-11-08#19 Gmail cookies problem by AoiRei 2016-10-24#40 Google Drive && Dropbox