本篇文章跟大家介紹《解析Zephir寫PHP擴充(一)》。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
眾所周知要寫PHP擴充需要用c或c 語言配合ext_skel 實作
這樣對一個沒接觸過c 的PHPer很不友善 於是就有了Zephir
zephir
的口號是:會寫php
,就會寫php
擴展
要建立PHP擴展並使用Zephir,需要滿足以下要求:
所有編譯安裝完PHP 還需要安裝一些依賴
先安裝解釋器
https://github.com/phalcon/php -zephir-parser
git clonegit://github.com/phalcon/php-zephir-parser.git
##phpize
#./configure
make
沒有安裝re2c
手動安裝下方
wget
###################################################################################################################1 ####tar zvxf re2c-0.16.tar.gz######cd re2c-0.16 ./configure && make && make install################sudo make install# ##############再編輯下ini 加上######extension=zephir_parser.so###安裝zephir.phar
wget https://github.com/zephir-lang/zephir/releases/download/0.13.0-alpha- 1/zephir.pha
安裝成功
安裝好Zephir 就可以進行coding階段
想實現一個array_where 擴展方法來實現數組過濾篩選
$array = []; $array[0]['name'] = 'zhangsan'; $array[0]['chinese'] = '89'; $array[0]['math'] = '95'; $array[0]['english'] = '88'; $array[1]['name'] = 'lisi'; $array[1]['chinese'] = '91'; $array[1]['math'] = '86'; $array[1]['english'] = '90'; $where=array( array('k'=>'name','conditions'=>'=','v'=>'zhangsan'), array('k'=>'chinese','conditions'=>'>','v'=>'86')) $new_array = array_where(array,$where); var_dump($new_array);
類似於mysql中的多條件查詢過濾。
如果用原生的PHP寫法 那就是循環foreach 效率很低。
▏本文經原作者PHP崔雪峰同意,發佈在php中文網,原文網址:https://zhuanlan .zhihu.com/p/352504439
#以上是解析Zephir寫PHP擴充(一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!