web-dev-qa-db-ja.com

C ++コードを使用してPHPと対話するにはどうすればよいですか?

時々PHPは単に十分に速くなく、コンパイルされたコードは時々「手間をかける」必要があることをどこかで読んでいました

これを行うためのC++のAPIは何ですか?

18
qodeninja

Cでプログラムされた関数/クラスをPHPに追加できます(そして、しばらく前に読んだ記事から正しく覚えていれば、CからC++クラスをラップできます)、うまくプログラムされていれば、いくつかのことをより速く行うことができるかもしれません:PHPコードの解釈の必要はありません;一般的にはるかに速いマシンコードの実行のみ。

そのためには、PHP拡張機能を開発する必要があります。

それについてインターネット上で利用できるリソースはそれほど多くありませんが、これらはあなたが始めるのに役立つかもしれません:

そして、特にC++の部分については、これも役立つかもしれません:

あなたがその主題に本当に興味があり、それにいくらかのお金を使う準備ができているなら、あなたは本を買うこともできます PHPの拡張と埋め込みいくつかのページはGoogleブックスでプレビューとして利用可能 あまりにも);この主題に興味があるときに読むのは本であることが何度か見ました(実際、私はしばらく前に購入しましたが、興味深い読み物です)

ちなみに、その本の著者は、私がリンクした最初の4つの記事の著者でもあります;-)

35
Pascal MARTIN

実際には、APIなしでコンパイルされたアプリケーションを 実行 できます。

$output = exec('/path/to/yourapp');

それを超えて、いつでもPHP拡張子を書くことができます。ここに主題に関する良いガイドがあります: http://devzone.zend.com/article/1021

10
brianreavis

swig、Simplified Wrapper and Interface Generator (既存の)c ++をphpモジュールにラップするのに役立ちます。

SWIGは、CおよびC++で記述されたプログラムをさまざまな高級プログラミング言語に接続するソフトウェア開発ツールです。 SWIGは、Perl、PHP、Python、Tcl、Rubyなどの一般的なスクリプト言語を含むさまざまなタイプの言語で使用されます。
6
VolkerK

何をしようとしているのかを定義していませんが、C++インターフェイスが必要な場合は、ソースコードのextディレクトリを見て、PHP拡張機能を作成する方法を理解してください。その後、PHPスクリプトからロードして使用できます。

役立つ可能性のあるいくつかのリンク:

http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/http://devzone.zend.com/article/1021

1
Wayne

sWIGを試しましたか?あなたの問題の良い解決策のようです!!

ここをクリック SWIG Webページにアクセスします(ただし、ドキュメントはあまりわかりにくいかもしれません!)

0
sameer manek