首頁 >後端開發 >php教程 >解析Zephir寫PHP擴充(一)

解析Zephir寫PHP擴充(一)

藏色散人
藏色散人轉載
2021-06-10 11:57:023023瀏覽

本篇文章跟大家介紹《解析Zephir寫PHP擴充(一)》。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

眾所周知要寫PHP擴充需要用c或c 語言配合ext_skel 實作

這樣對一個沒接觸過c 的PHPer很不友善 於是就有了Zephir

zephir的口號是:會寫php,就會寫php擴展

要建立PHP擴展並使用Zephir,需要滿足以下要求:

  • Zephir parser >= 1.3.0
  • A C編譯器,例如gcc
    • re2c 0.13.6 或更高版本
    • PHP development headers and tools 對於基於linux 的系統, 您還需要:
    • #GNU make 3.81 或 later
    • autoconf 2.31 或更高版本
    • automake 1.14 或更高版本
    • libpcre3

所有編譯安裝完PHP 還需要安裝一些依賴

##yum install git gcc make re2c php php-json php-dev libpcre3-dev build-essential

解析Zephir寫PHP擴充(一)

先安裝解釋器

https://

github.com/phalcon/php -zephir-parser

解析Zephir寫PHP擴充(一)

git clone

git://github.com/phalcon/php-zephir-parser.git

cd php-zephir-parser

解析Zephir寫PHP擴充(一)##phpize

解析Zephir寫PHP擴充(一)#./configure

解析Zephir寫PHP擴充(一)make

解析Zephir寫PHP擴充(一)沒有安裝re2c

手動安裝下方

wget

http://s/re2c/files/0.16/re2c -0.16.tar.gz tar zvxf re2c-0.16.tar.gz cd re2c-0.16 ./configure && make && make install

解析Zephir寫PHP擴充(一)

解析Zephir寫PHP擴充(一)

解析Zephir寫PHP擴充(一)

###################################################################################################################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寫PHP擴充(一)

安裝zephir.phar

wget https://github.com/zephir-lang/zephir/releases/download/0.13.0-alpha- 1/zephir.pha

解析Zephir寫PHP擴充(一)

安裝成功

安裝好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中文網其他相關文章!

陳述:
本文轉載於:zhihu.com。如有侵權,請聯絡admin@php.cn刪除