Zephir analysieren und PHP-Erweiterungen schreiben (1)

藏色散人
Freigeben: 2023-04-10 08:08:02
nach vorne
2975 Leute haben es durchsucht

Dieser Artikel stellt Ihnen „Analyse von Zephir und Schreiben von PHP-Erweiterungen (1)“ vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Es ist bekannt, dass Sie zum Schreiben von PHP-Erweiterungen die Sprache C oder C++ mit ext_skel zur Implementierung verwenden müssen. Dies ist für einen PHP-Benutzer, der noch nicht mit C++ vertraut ist, sehr unfreundlich. Es gibt also Zephir

Erweiterung

Um die PHP-Erweiterungen Zephir zu erstellen und zu verwenden, sind folgende Anforderungen erforderlich:

zephir的口号是:会写php,就会写php

Zephir-Parser

>= 1.3.0
  • Ein C-Compiler wie gcc
  • re2c
  • 0.13.6 oder höher
    • PHP-Entwicklungsheader und -Tools für Linux-Systeme benötigen Sie außerdem:
    • GNU make
    • 3.81 oder höher
    • autoconf 2.31 oder höher
    • automake 1.14 oder höher
    • libpcre3
    • Alles danach kompilieren PHP installieren Einige Abhängigkeiten müssen installiert werden. //
    • github.com /phalcon/php-zephir-parser


git clone

git://Zephir analysieren und PHP-Erweiterungen schreiben (1)github.com/phalcon/php-

zephir-parser.git

cd php-zephir-parser

Zephir analysieren und PHP-Erweiterungen schreiben (1)phpize

./configuremake

re2c ist nicht installiertZephir analysieren und PHP-Erweiterungen schreiben (1)

manuell installieren

wget

Zephir analysieren und PHP-Erweiterungen schreiben (1) http://

sourceforge.net/project

s/re2c/files/0.16/re2c-0.16.tar.gzZephir analysieren und PHP-Erweiterungen schreiben (1)

tar zvxf re2c-0.16.tar.gz cd re2c-0.16 ./configure && make && make install

Zephir analysieren und PHP-Erweiterungen schreiben (1)

tar zvxf re2c- 0.16.tar.gz

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

sudo make installdann die INI bearbeiten und hinzufügen

extension=ze phir_parser. also

Zephir analysieren und PHP-Erweiterungen schreiben (1)

Zephir.phar installieren

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

Zephir analysieren und PHP-Erweiterungen schreiben (1)

Installation erfolgreich

Nach der Installation von Zephir können Sie mit der Codierungsphase fortfahren

Ich möchte eine array_where-Erweiterungsmethode implementieren, um die Array-Filterung zu implementieren

$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);
Nach dem Login kopieren

Ähnlich der Abfragefilterung mit mehreren Bedingungen in MySQL.

Wenn Sie die native PHP-Schreibmethode verwenden, handelt es sich um eine foreach-Schleife, die sehr ineffizient ist.

Dieser Artikel wurde mit Zustimmung des ursprünglichen Autors PHP Cui Xuefeng veröffentlicht. Die ursprüngliche Adresse: https://zhuanlan.zhihu.com/p/352504439

Das obige ist der detaillierte Inhalt vonZephir analysieren und PHP-Erweiterungen schreiben (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:zhihu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!