問題タブ [php-cpp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP-CPP で Php::Value からクラス名を取得する
PHP-CPP を使用して PHP の小さな拡張機能に取り組んでいるときに、C++ 側でオブジェクトを含む配列を受け取り、そのクラス名を取得する必要があります。オブジェクト Php::Value にはメソッドがないようです。
この拡張機能で HNI と同様に: https://github.com/mcuadros/bson-hni/blob/master/src/encode.cpp#L86
php - php-cpp zend/php.hが見つかりません
私はphp-cppの可能性をテストしたかったのですが、「make」を使用している間、「php.h」が不足しています:
どうすれば修正できますか?私は osx10.9.3 を使用しています。関連する場合は、PHP プロジェクトに xampp を使用しています。php-cpp http://www.php-cpp.com/documentation/installのドキュメント。
c++ - PHP-CPP の新しい拡張機能は、cli 'php' コマンドでは機能しますが、ブラウザーでは機能しません
PHP-CPP を使用して、mysql からテーブルを解析する関数を含む php 拡張機能を作成しています。
拡張子.cpp
コンパイル時に MakeFile を編集し、mysql_config --cflags --libs
mysql をロードするためにコンパイラ コマンドに追加したため、コンパイルが正常に機能しているように見えますg++ -shared -o extension.so extension.o -lphpcpp mysql_config --cflags --libs
。
拡張機能から定義された関数 (ss_parse_table) を使用して、コンパイルが実際に機能するかどうかをテストしてみました。だから私はphpファイルを作成しました:
test.php
コマンド「php /mnt/test/index.php」を実行すると、CLIから正常に動作します。このコマンドは、定義された拡張関数 (ss_parse_table) によって返される配列を次のように出力します。
しかし、ブラウザから閲覧するとhttpが失敗します
「データを受信しませんでした」(Chrome エラー) または「接続がリセットされました」(Firefox エラー)
c++ - PHP-CPP C++ 拡張で正規表現が見つからない
PHP 用の C++ 拡張機能を作成しており、コードで正規表現を使用しています。ここにスニペットがあります
コードのすべての部分を含めていないため (たくさんあります)、これはコンパイルされません。ここでは、エラーや警告なしですべて正常にコンパイルされます。この C++ コードから何かを使用するテスト php ファイルを実行しようとすると、次のエラーが発生して失敗します。
正規表現クラスを参照するメソッドとコードの一部を削除するとすぐに、正常に実行されます (インクルードを残すことができ、引き続き機能します)。
これらのコマンド ラインを使用してコンパイルします。
正規表現はC++ 11の標準ライブラリの一部であるため、実行時に自動的に行われるため、正規表現を手動でリンクする必要はないと思いますか?
PHPで動作させるために欠けているものはありますか? 正規表現オブジェクトは公開していません。C++ コードで目標を達成するための手段にすぎません。
php - php-cpp でライブラリではなく php を拡張するための構文を追加する
私は、php 構文に何らかの機能を追加することに興味がありましたが、言語のモジュールを作成することとは異なることは明らかです。これには、php.net Webサイトで入手できるCのリソースを編集する必要があり、当然Cプログラミングの知識が必要だと思っていました。単に私は以下をしたい:
書くのではなく:
または、別の見方をすると、C# で可能なように、各クラスまたは関数に属性を追加します。
このアプローチを実現するための最初のステップは何ですか?
php - php-cpp拡張クラスのarrayaccessが自己参照を返す
PHP のカスタム拡張機能に問題があります。自作オブジェクト用に Php::ArrayAccess を拡張しています。PHP で自分のオブジェクトをネイティブ配列のように使用できます。しかし、offsetGet の実装でオブジェクトへの参照を返しているにもかかわらず、演算子 [] をチェーンすることはできません。このエラーが発生します:
PHP 致命的なエラー: タイプ Jq のオブジェクトを配列として使用できません ... (0 行目の myfile.php)
および実行されるphpコード:
ご協力いただきありがとうございます !