Maison > développement back-end > tutoriel php > Analyser Zephir et écrire des extensions PHP (1)

Analyser Zephir et écrire des extensions PHP (1)

藏色散人
Libérer: 2023-04-10 08:08:02
avant
3021 Les gens l'ont consulté

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 :

  • Zephir analyseur >= 1.3.0
  • Un compilateur C, tel que gcc
    • re2c 0.13.6 ou supérieur
    • En-têtes et outils de développement PHP Pour les systèmes basés sur Linux, vous avez également besoin de :
    • GNU make 3.81 ou version ultérieure
    • autoconf 2.31 ou version supérieure
    • automake 1.14 ou version supérieure
    • libpcre3

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

Analyser Zephir et écrire des extensions PHP (1)

Installez d'abord l'interpréteur

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

Analyser Zephir et écrire des extensions PHP (1)

git clone github.com/phalcon/php-

cd php-zephir-parser

Analyser Zephir et écrire des extensions PHP (1)

phpize

Analyser Zephir et écrire des extensions PHP (1)

. /configure

Analyser Zephir et écrire des extensions PHP (1)

make

Analyser Zephir et écrire des extensions PHP (1)

re2c n'est pas installé

installez-le manuellement

wget sourceforge.net/project tar zvxf re2c-0.16.tar.gz cd re2c-0.16 ./configure && make && make install

Analyser Zephir et écrire des extensions PHP (1)

tar zvxf re2c-0.16.tar.gz

cd re2c-0.16 ./configure && make && make install

Analyser Zephir et écrire des extensions PHP (1)

sudo make install

Analyser Zephir et écrire des extensions PHP (1)

Modifiez l'ini et ajoutez

extension=zephir_parser.so

Analyser Zephir et écrire des extensions PHP (1)

Installer zephir.phar

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

Analyser Zephir et écrire des extensions PHP (1)

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);
Copier après la connexion

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!

Étiquettes associées:
source:zhihu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal