GitHub 上有哪些比較有趣的 PHP 項目?
自己可以算是一個程序員,之前一直用Java寫代碼,想學點東西。有點想接觸下php,所以想問問github上面有沒有比較經典有趣最好也是簡單的php項目?
----------------------------------------------------------------------------------------------------感謝有人關注,因此還希望大家推薦幾本php的書籍?謝謝大家
鏈接就不貼了,可以在github上進行搜索。這裡就不列舉symfony、laravel 這些大家都知道的項目了。只列舉比較有意思的。
- swoole, C擴展實現的PHP非同步並行網路通信框架,可以重新定義PHP。過去PHP只能做Web項目,現在有了Swoole。任意伺服器端程序都可以用PHP來寫。
- swoole_framework,基於swoole擴展開發的一個開發框架
- yaf,C擴展實現的高性能Web開發框架
- php-webim,基於swoole實現的Web即時聊天工具,支持websocket+http comet長鏈接推送,可以發送文字內容和圖片
- react 使用PHP代碼實現非同步框架。如果說swoole是node.js的升級版,react.php就是標準的PHP版本node.js
- workerman,類似swoole,不過是純PHP實現的,官網有很多示例項目。底層功能比swoole少一些,但相對簡單,應用層面的功能比swoole豐富。
- phalcon,俗稱爾康框架,與yaf類似也是C擴展開發的高性能Web框架,與yaf相比phalcon提供的功能更多更完善。
- zephir,這個有點厲害,可以用近似PHP的一種中間代碼寫程序,然後自動轉為C++,並作為擴展來運行。可以解決PHP語言密集計算性能差的問題。
- phpdaemon
- redis-async,基於swoole擴展寫的非同步redis客戶端,壓測起來性能跟Go語言之類的差不多
- swoole
- swoole framework
- yaf
尤其swoole, 顛覆了以前php的概念了。swoole = php版本的nodejs, 而且根據代碼實現以及自己的壓力測試來看來看,比nodejs只強不弱。
swoole這麼說把,php一般是在nginx + php-fpm / hhvm 或者 apache + php5_mod跑的。直接訪問頁面執行 http://yourhostname.com/1.php 這樣執行的。swoole就是你在linux下寫一個1.php然後nohup php 1.php 退出去之後。這個php 1.php常駐進程。通常你在1.php裡面寫一點socket、通信、等有關的,特別方面,由於swoole是既支持全非同步,也支持同步,IO 模型設置很好。所以性能極其強悍,關鍵是很簡單易用。具體大家去試把,誰用誰知道。swoole github: swoole/swoole-src · GitHubswoole 官網: Swoole: PHP的非同步、並行、分散式擴展除了socket, swoole內置了一些比如http server, ftp server,websockt 等等各種協議。還有swoole_process、swoole_table等,很好用的組件。
誰用誰知道,建議一試。其實swoole算來跟php無關,純C寫的幾萬行代碼,提供各種功能,最後提供一個簡單的php介面封裝。其實各位搞python、ruby 等的,完全可以把C代碼拿去改一改加python、ruby介面的,這樣各大語言都可以用,很爽。我相信這件事最終有人做的。php的多進程的pcntl, 代碼實現很渣渣。
swoole提供了swoole_process 多進程模塊,可以跟方便用php寫多進程的東西了。其他還有一些php小工具就不提了。
手機回答的就不貼地址了。上面swoole yaf的地址你該能找到,找不到可以私信我。個人喜歡一些php好的c擴展,也關注蠻多,去看看韓天峰、鳥哥、walu等一些關注php 源代碼研究比較好的,他們經常在github、微博分享好東西hprose/hprose-php · GitHub
Hprose 是高性能遠程對象服務引擎(High Performance Remote Object Service Engine)的縮寫。它是一個先進的輕量級的跨語言跨平檯面向對象的高性能遠程動態通訊中間件。它不僅簡單易用,而且功能強大。你只需要稍許的時間去學習,就能用它輕鬆構建跨語言跨平台的分散式應用系統了。
這個是它的 PHP 版本,它可以跟 swoole 完美結合,提供基於各種網路層的遠程服務。
hprose/hprose-pecl · GitHub
這個是 Hprose for php 的加速擴展。其中所包含的 hprose 序列化和反序列化速度秒殺 php 內一切其它序列化擴展的速度,比如 php 序列化,json,msgpack,igbinary等。
walkor/workerman-todpole · GitHubphp 小蝌蚪聊天室 canvas動畫+WebSocket+PHP
開發不識Behat,寫遍PHP也枉然。GitHub - Behat/Behat: BDD framework for PHP 5.3+
哈哈,韓大神的swoole是一個PHP具有代表的傑作之一。
現在php大多數都是用於web後端開發,而像做些有趣的可以做下計算機視覺方面的開發。
最近在開發有趣的php擴展,php-opencv,是php版的opencv,可以用於計算機視覺開發,
hihozhou/php-opencv
現階段開發除了可以基本的圖像和視頻處理外,還有物體檢測,和人臉檢測識別。
這裡也要感謝韓大神對本人php擴展方面的指導,蹭一下大神光芒~
Git Hunt 上可以發現最新的開源項目,用 Product Hunt 的方式。
https://github.com/walkor/shadowsocks-php
A php port of shadowsocks based on workerman. A socks5 proxy written in PHP.Neeke/SeasLog · GitHub
一個便捷高效規範的日誌擴展Neeke/Jsonnet-PHP · GitHubPHP對Google Jsonnet的支持.最有趣的其實是你自己做的啦, 比如微信公眾號咯, 我的github頁面 lifeinoppo中就有一個現成的php版本微信公眾平台,歡迎關注喲~~
Phalcon框架:GitHub - phalcon/tutorial: Phalcon Tutorial
我們目前的開發多在用。
GitHub - huyanping/simple-fork-php: simple multi process manager based on pcntl基於pcntl的多進程框架,介面類似java線程
上面的基本比較全了,我來貼2個比較有意思的:
Tencent/TarsMeituan-Dianping/DBProxy推薦閱讀:
※http:文件上傳背後發生了什麼?
※Web 開發中,用戶在表單中輸入的字元都應該經過哪些處理?
※科班計算機it從業者,都學些什麼?
※github上有哪些值得學習的優秀的php開源項目?
※如何用php 編寫網路爬蟲?