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 ライブラリを。
- ライブラリ、ライブラリのヘッダファイルの定義 hiredis / hredis.h と hiredis / read.h :コピー/ペーストPRELOAD-redis.hを
- プリロードされたの必要性レミ\ Redisのの クラスが定義されています。preload-redis.inc
- このようの使用テスト・スクリプト: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日を中心にリリースされる予定。