이 글에서는 "Zephir 분석 및 PHP Extension 작성(1)"을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
PHP 확장을 작성하려면 ext_skel과 함께 c 또는 c++ 언어를 사용하여 구현해야 한다는 것은 잘 알려져 있습니다.
C++에 노출되지 않은 PHPer에게는 매우 비우호적입니다. 그래서 Zephir가 있습니다
. zephir
的口号是:会写php
,就会写php
확장
PHP 확장 Zephir를 빌드하고 사용하려면 다음 요구 사항을 충족해야 합니다.
all compile PHP 설치 후 몇 가지 종속 항목을 설치해야 합니다
yum install git gcc make re2c php php-json php-dev libpcre3-dev build-essential
먼저 인터프리터를 설치해야 합니다
https://github.com php-zephir-parser
phpize./configure
make
re2c가 설치되지 않았습니다
수동으로 설치
wget
http://sourceforge.net/projects/re2c/files/0.16/re2c-0.16.tar.gz
tar zvxf re2c-0.16.tar.gz cd re2c-0.16 ./configure && make && make install
tar zvxf re2c- 0.16.tar.gz
cd re2c-0.16 ./configure && make && make installsudo make install다음을 편집하세요. 이니 그리고
extension=zephir_parser.so를 추가하세요.
zephir.phar
wget 설치 https://github.com/zephir-lang/zephir/releases/download/0.13.0-alpha-1/zephir.pha
설치 성공
Zephir 설치 후 코딩 단계로 넘어갈 수 있습니다
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 Cui Xuefeng의 동의를 받아 PHP 중국어 웹사이트에 게시되었습니다. 원본 주소: https://zhuanlan.zhihu.com/p/352504439
위 내용은 Zephir 분석 및 PHP 확장 작성 (1)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!