PHP FFI 7.4 PHPでC機能/データ構造のより良好な使用を可能にします

PHP 7.4の次期リリースの下端は、興味深い新機能を紹介します待望のことであるFFI(外部関数インタフェース、外部関数インタフェース)のサポートがありますこの機能により、開発者はネイティブコードPHPで定義された/タグ/データ構造Cの関数を呼び出すことを可能にします。

FFIとプリロードが重要な新機能のPHP 7.4になり、FFI TLS 1.3のためにも強化されPHPのFPMのにsystemdサービス、および他の多くの変更OpenSSLはストリーム。PHP FFI 7.4は、FFI他の言語でも、同等の達成することができます。

あなたが今完了するために、外部関数インタフェースを使用することができますので、使用PHP FFIは、新しいPHPモジュールのCライブラリ/ API書か需要に減少させるべきです。あなたは、PHPエンジニアレミコレットのFedoraの/ RedHatのパッケージャを担当するサンプルコードPHP 7.4 FFIの好奇心は、書いたことを感じた場合は、新しいブログ記事のサンプルコードで、いくつかのユースケースの概要を説明し、。

簡単な例からの抜粋:

Redisのクライアント

そこが現在CやPHPで書かれている  Redisのクライアントの様々な実装、この例では、アクセスするには、FFIの使用を示してい  hiredis  ライブラリを。

  1. ライブラリ、ライブラリのヘッダファイルの定義  hiredis / hredis.h  と  hiredis / read.h :コピー/ペーストPRELOAD-redis.hを
  2. プリロードされたの必要性レミ\ Redisのの  クラスが定義されています。preload-redis.inc
  3. このようの使用テスト・スクリプト:redis.php

出力の概要

$ php74 -d ffi.preload =プリロード-redis.h -d opcache.preload = preload-redis.inc redis.php 
... 
+レミ\ Redisの:: __構築物(ローカルホスト、6379)
+レミ\ Redisの:: initFFI( )
+レミ\ Redisの::デル(FOO)
INT(1)
+レミ\ Redisの::取得(FOO)
NULL 
+レミ\ Redisの::セット(FOO、2019年10月23日午前12時45分03秒)
の文字列(2 ) "OK" 
+レミ\ Redisの::取得(FOO)
文字列(19) "2019年10月23日12時45分03秒" 
+レミ\ Redisの:: __消滅

あなたがPHP 7.4 FFIについてもっと学びたいのであれば、あなたは見ることができます  PHP.netの  文書とに基本的な例を複数のRC版を受けることが予想される、GAは前にPHP 7.4 GAに投稿された11月28日を中心にリリースされる予定。

おすすめ

転載: www.oschina.net/news/110972/ffi-extension-usage-with-php-7-4