PHP-X 自体は C++11 に基づいて開発されており、コンパイルと構成に cmake を使用します。以下の記事では、PHP-X チュートリアルシリーズの組み込み関数の使用に関する関連情報を中心に、サンプルコードを通じて詳しく紹介していますので、必要な方は参照してください。一緒に。
はじめに
この記事では、PHP 拡張機能の開発において、これらの組み込み関数の使用法を主に紹介します。PHP-X のカプセル化により、これらの関数を呼び出すことができます。 PHP コードと同じように簡単です。
php-x に詳しくない友人は、この記事を読むことができます: https://segmentfault.com/a/1190000011111074
echo
拡張機能でコンテンツを出力する必要がある場合は、次のようにすることができます。エコー機能を使います。 echoの使い方はC言語のprintfと全く同じです。詳細については、printf 関連記事を参照してください。
コマンドライン環境(cli)では、echoは画面を出力します
php-fpmまたはApacheでは、echoはブラウザクライアントにコンテンツを出力します
PHPX_FUNCTION(cpp_test) { echo("a=%d, b=%f, c=%s.\n", args[0].toInt(), args[1].toFloat(), args[2].toCString()); }
var_dump
PHP プログラムを開発およびデバッグするとき、多くの場合、いくつかの変数の値を出力する必要があります。 PHP には、変数を出力するための var_dump 関数が用意されています。 PHP-X では var_dump を使用することもできます。この関数は Variant オブジェクトを受け入れます。
PHPX_FUNCTION(cpp_test) { var_dump(args[0]); }
include
PHP ファイルを含めます。 注: ファイルが存在しない場合は、致命的なエラーがスローされます。正しくロードされると、この PHP ファイル内のコードが実行されます。 include を使用すると、PHP コードによって実装されたクラスと関数を拡張機能に導入できます。
PHPX_FUNCTION(cpp_test) { include("/data/php/library/Autoloader.php"); }
error
PHP エラー ログを印刷します。PHP のtrigger_error 関数に相当します。この関数は echo に非常に似ていますが、唯一の違いは、最初のパラメータが E_ERROR や E_WARNING などのエラー レベルを受け入れるために挿入されることです。
PHPX_FUNCTION(cpp_test) { error(E_ERROR, "error: a=%d, b=%f, c=%s.\n", args[0].toInt(), args[1].toFloat(), args[2].toCString()); }
定数
定数の値を取得します。この関数を使用すると、define で定義された定数と const で定義されたクラス定数を取得できます。
PHPX_FUNCTION(cpp_test) { auto a = constant("PHP_VERSION"); auto b = constant("PDO::VERSION"); }
global
グローバル変数の値を取得します。 PHP スーパーグローバル変数と、global キーワードを使用して他の PHP コードによって宣言されたグローバル変数が含まれます。
概要
以上がphp-Xシリーズの組み込み関数例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。