Maison >développement back-end >tutoriel php >Analyser Zephir et écrire des extensions PHP (1)
Cet article vous présente "Analyse de l'écriture d'extensions PHP dans Zephir (1)". Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Comme nous le savons tous, pour écrire des extensions PHP, vous devez utiliser le langage C ou C++ avec ext_skel pour implémenter
Ceci est très hostile à un PHPer qui n'a pas été exposé au c++, donc il y a Le slogan de Zephir
zephir
est : si vous savez écrire php
, vous pouvez écrire php
Extensions
Pour construire un PHP et utilisez Zephir, vous devez répondre aux exigences suivantes :
toutes les compilations Après avoir installé PHP, vous devez encore installer certaines dépendances
yum install git gcc make re2c php php-json php-dev libpcre3-dev build-essential
Installez d'abord l'interpréteur
https://github.com/phalcon/ php-zephir-parser
git clone git://github.com/phalcon/php-zephir-parser.git
cd php-zephir-parser
phpize
. /configure
make
re2c n'est pas installé
installez-le manuellement
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 install
sudo make install
Modifiez l'ini et ajoutez
extension=zephir_parser.so
Installer zephir.phar
wget https://github.com/zephir-lang/zephir/releases/download/0.13.0-alpha- 1/zephir.pha
Installation réussie
Une fois Zephir installé, vous pouvez passer à l'étape de codage
I souhaitez implémenter une extension array_where La méthode pour implémenter le filtrage de tableau
$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);
est similaire au filtrage de requêtes multi-conditions dans MySQL.
Si vous utilisez la méthode d'écriture native PHP, c'est une boucle foreach, ce qui est très inefficace.
▏Cet article est publié sur le site Web php chinois avec le consentement de l'auteur original PHP Cui Xuefeng. L'adresse originale : <.>https://zhuanlan .zhihu.com/p/352504439
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!