沒(méi)有一種語(yǔ)言從設(shè)計(jì)之初就可以做所有事情,因此我們需要不斷去發(fā)展它,擴(kuò)展它,而php的擴(kuò)展就是它這些年不斷前行的動(dòng)力,yar,swoole的出現(xiàn),讓php又煥發(fā)出青春活力。
php的擴(kuò)展開(kāi)發(fā)主要有三種方式。
1、php-cpp是一套c++類庫(kù),方便我們用來(lái)開(kāi)發(fā)php的擴(kuò)展程序。它具有速度極快的特點(diǎn)。不需要知道zendengine的知識(shí)就可以開(kāi)發(fā)擴(kuò)展,并且可以訪問(wèn)php中的各種語(yǔ)法結(jié)構(gòu)和變量。因?yàn)閜hp的很多函數(shù)都是來(lái)自于c語(yǔ)言命名,因此當(dāng)你使用c++開(kāi)發(fā)php的擴(kuò)展的時(shí)候,你會(huì)感到很親切,感到很熟悉,感到上手很容易。
2、zephir提供了類型系統(tǒng),以友好的語(yǔ)言將靜態(tài)和動(dòng)態(tài)類型結(jié)合在了一起,并使用行業(yè)標(biāo)準(zhǔn)的編譯器將其編譯為機(jī)器代碼,具有高可維護(hù)的特點(diǎn)。zephir是安全的,它禁止我們使用指針訪問(wèn)內(nèi)存,并提供了垃圾回收器,進(jìn)行垃圾回收,避免了內(nèi)存泄漏。它是跨平臺(tái)的,可以支持多個(gè)系統(tǒng)平臺(tái)。
3、ext_skel是php源碼自帶的擴(kuò)展生成工具,使用它,可以快速搭建一個(gè)擴(kuò)展框架。
使用此方法需要你有c語(yǔ)言的基本知識(shí),會(huì)編譯c代碼。
使用phpize生成configure文件,進(jìn)行編譯安裝。