? ?PHP庫給開發(fā)者提供了一個標準接口 它幫助開發(fā)者在PHP里充分利用面向對象編程 這些庫為特定類型的內置功能提供了一個標準的API 允許類可以與PHP引擎進行無縫的交互 此外 開發(fā)者使用這些類庫還可以簡化工作流程 提供工作效率
創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來,先為振興等服務建站,振興等地企業(yè),進行企業(yè)商務咨詢服務。為振興企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
下面就一起來看看這些非常實用且免費的類庫吧 希望它們能助你一臂之力
Requests
? ?Requests是一個用PHP編寫的HTTP庫 遵循ISC開源協(xié)議 托管在GitHub上 Requests取代了Python HTTP/ 以外的一切工作———讓你與Web服務可以無縫的結合
? ?Requests提供了一致的API 并且使用cURL或fsockopen(具體取決于可用性) 它還簡化了發(fā)送請求 接受HEAD GET POST PUT DELETE或PATCH并且添加標頭 表單數(shù)據(jù)和多個部分組成的文件 其次 該庫還適用于國際域名 身份驗證 自動壓縮gzip壓縮響應等 綜上所述可以看出 Requests是一個非常好用且可以友好托管HTTP請求的標簽
Munee
? ? Munee是一個集圖片尺寸調整 CSS JS合并/壓縮 緩存等功能于一身的PHP庫 可以在服務器端和客戶端緩存資源 它集成了PHP圖片操作庫Imagine來實現(xiàn)圖片尺寸調整和剪切 之后進行緩存
? ? Munee可以自動編譯LESS SCSS和CoffeeScript 并且可以把CSS+JS文件合并成一個單一的請求 此外 還可以對這些CSS JS文件進行精縮 讓其擁有更好的性能表現(xiàn) 該庫還可以輕易地與任何代碼集成
Ratchet?
? ?Ratchet是一個PHP庫 WebSockets工具包 開發(fā)者可以使用它在客戶端和服務器端之間構建實時 雙向的App應用 并且可以快速簡單地構建事件驅動應用程序(而不是傳統(tǒng)的HTTP 請求/響應應用程序)
Swift Mailer
? ?Swift Mailer是一個功能豐富的PHP郵件庫 不依賴于PHP自帶的mail() 函數(shù) 因為該函數(shù)在發(fā)送多個郵件時占用的系統(tǒng)資源很高 Swift直接與SMTP服務器通訊 具有非常高的發(fā)送速度和效率
Unirest?
? ?Unirest是一個輕量級的HTTP開發(fā)庫 可用于PHP Ruby Python Java Objective C等開發(fā)語言 支持GET POST PUT UPDATE DELETE操作 它的調用方法與返回結果對所有開發(fā)語言來說 都是相同的
Detector
? ?Detector是一個開源的PHP類庫 用于檢測用戶的瀏覽器環(huán)境 它可以獲得瀏覽器的使用情況和瀏覽器的HTML CSS 功能 并分析是否是移動 平板電腦 桌面或網頁爬蟲和其他項 如 顏色深度 視頻尺寸 Cookie等 該庫對每個瀏覽器用戶都使用單一的用戶代理字符串來自動適應新瀏覽器 版本和設備
PHP Thumb
? ?PHP Thumb是一個PHP類 用來生成圖片的縮略圖 只需數(shù)行代碼即可 支持多種圖片來源 包括文件系統(tǒng)或者數(shù)據(jù)庫 支持大多數(shù)圖片格式 并可對圖片進行旋轉 剪切 加水印等等 可自定義縮略圖的質量 提供內建的緩存以降低服務器的負載
Zebra Image
? ? ?Zebra Image是一個開源的輕量級圖像處理庫 并且是一款面向對象庫 只需PHP GD 擴展 并支持縮放 裁剪 旋轉和翻轉操作 它可以用于 jpg gif png等格式
Hybrid Auth
? ?HybridAuth是一個開源PHP類庫 用于通過微博/社交網站和ID來提供驗證功能實現(xiàn)同步登錄網站功能 它能夠很方便的與現(xiàn)有網站相集成 只要引用一個文件并添加幾行代碼就能夠實現(xiàn)登錄 一旦驗證 HybridAuth會提供連接用戶的標準化相關資料 此外 除了驗證功能 這個類庫能夠讓我們與用戶連接的social API客戶端相交互
Gantt Charts
? ?Gantti是一個開源的PHP類 幫助用戶即時生成Gantt圖表 使用Gantti創(chuàng)建圖表無需使用JavaScript 是純HTML CSS 圖表默認輸出非常漂亮 但用戶可以自定義樣式進行輸出(SASS樣式表)
Mobile Detect?
? ?Mobile Detect是一個PHP類 通過User Agent檢測各種手機設備 并結合HTTP Header來檢測移動設備環(huán)境 該類庫最強大的地方是 它有一個非常完整的庫 可以檢測出所用的設備類型(包括操作類型 以及手機品牌等都能檢測)和瀏覽器的詳細信息
ImageWorkshop
? ?顧名思義 ImageWorkshop是一個管理和操作圖片的PHP類庫 這個類擁有類似圖片編輯軟件的邏輯 基于層的概念 可以疊加很多層或層組(每一層不同的操縱選項) 它還支持許多功能 比如水印 裁剪 移動 縮放 旋轉 疊加等
JqmPhp
? ?JqmPhp是一個PHP開源類庫 旨在簡化jQuery與PHP來進行移動開發(fā) 用于生成使用jQuery Mobile框架所需要的HTML文件 該類庫的文件是獨立的 所以你可以根據(jù)需要來選擇使用
PHP Image Cache
? ?Image Cache是一個輕量級的PHP類 可以在用戶瀏覽器里壓縮 移動 緩存圖片 這個類提供一些簡單的設置如 目錄 根路徑URL等 然后針對每一張圖片調用壓縮功能
Imagine
? ?Imagine是一個面向對象的PHP類庫 用于圖片操作 這個類庫能夠處理一些經常用到的操作如 縮放 裁剪 應用過濾等 其Color類庫可用于對任意特定的顏色生成RGB值 并且還提供一些方法來繪制圖形如 圓弧 橢圓 線 片等
lishixinzhi/Article/program/PHP/201404/30630
接口interface是一個規(guī)定,給人繼承用的東西,有點像抽象類。
接口定義了實現(xiàn)某種服務的一般規(guī)范,聲明了所需的函數(shù)和常量,但不指定如何實現(xiàn)。之所以不給出實現(xiàn)的細節(jié),是因為不同的實體可能需要用不同的方式來實現(xiàn)公共的方法定義。關鍵是要建立必須實現(xiàn)的一組一般原則,只有滿足了這些原則才能說實現(xiàn)了這個接口。
擴展資料
PHP接口(interface)的特點 :
1、接口的方法必須是公開的。
2、接口的方法默認是抽象的,所以不在方法名前面加abstract。
3、接口可以定義常量,但不能定義成員屬性,常量的定義和用法和類中常量一樣。
4、類可以實現(xiàn)多個接口(相當于把多個功能集于一身,如手機實現(xiàn)了小靈通、MP3、MP4的功能)
5、接口也可以繼承接口。
PHP同大多數(shù)的面向對象語言一樣,并不支持多重繼承。如果需要實現(xiàn)多重繼承功能,在PHP中,可以通過接口,它是PHP解決多重繼承問題的方法,在php5.4版本之后有個類的新特性trait,有興趣的可以百度下。
以我目前的能力沒法理解這個問題。但我舉個例子,可能并不是你想要的答案,但沒準可以提醒一下。我們用GOOGLE MAP API (開源)的時候,會引用一個類似接口的方法,方法有很多參數(shù)可以設置。比如這是個引用地圖的方法,它的里面寫了很多完整的方法,我這里就不放出來了,但是我舉得例子是參數(shù)傳遞在最上面的initialize () (這里我們暫時當作接口)方法上,我們可以傳遞interface_zoom即縮放大小,interface_lati,interface_lngi就是經緯度等等參數(shù),這些參數(shù)可以由我們自己處理,無論是從database還是什么其他方法讀取還是怎么運算,然后call這個initialize方法帶指定參數(shù)就可以了,具體里面如何操作的地圖,如何生成的地圖,我們就不管了。接口就是我們看到日常生活中的插座,它規(guī)定好了規(guī)格,是幾項的插頭,我們就做成幾項的插頭,具體里面什么線路我們不管。方法中規(guī)定了什么類型的參數(shù),我們就傳什么類型的參數(shù),具體里面有什么算法我們不管。個人最自白的解釋,與官方有出入。
var map;
var infoWindow;
function initialize(interface_zoom,interface_lati,interface_lngi) {
var mapDiv = document.getElementById('map-canvas');
map = new google.maps.Map(mapDiv, {
center: new google.maps.LatLng(interface_lati, interface_lngi),
zoom: interface_zoom,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
......
......
}
使用PHP寫api接口是經常做的,PHP寫好接口后,前臺就可以通過鏈接獲取接口提供的數(shù)據(jù),而返回的數(shù)據(jù)一般分為兩種情況,xml和json,在這個過程中,服務器并不知道,請求的來源是什么,有可能是別人非法調用我們的接口,獲取數(shù)據(jù),因此就要使用安全驗證
原理
從圖中可以看得很清楚,前臺想要調用接口,需要使用幾個參數(shù)生成簽名。
時間戳:當前時間
隨機數(shù):隨機生成的隨機數(shù)
口令:前后臺開發(fā)時,一個雙方都知道的標識,相當于暗號
算法規(guī)則:商定好的運算規(guī)則,上面三個參數(shù)可以利用算法規(guī)則生成一個簽名。前臺生成一個簽名,當需要訪問接口的時候,把時間戳,隨機數(shù),簽名通過URL傳遞到后臺。后臺拿到時間戳,隨機數(shù)后,通過一樣的算法規(guī)則計算出簽名,然后和傳遞過來的簽名進行對比,一樣的話,返回數(shù)據(jù)。
算法規(guī)則
在前后臺交互中,算法規(guī)則是非常重要的,前后臺都要通過算法規(guī)則計算出簽名,至于規(guī)則怎么制定,看你怎么高興怎么來。
我這個算法規(guī)則是
時間戳,隨機數(shù),口令按照首字母大小寫順序排序
然后拼接成字符串
進行sha1加密
再進行MD5加密
轉換成大寫。