検索
ホームページバックエンド開発PHPチュートリアルディスカッション: PHP 拡張機能の書き方_PHP チュートリアル

ディスカッション: PHP 拡張機能の書き方_PHP チュートリアル

Jul 21, 2016 pm 03:07 PM
c++phpアドバンテージ長所と短所減らす複雑さどうやって場合拡大する話し合う効率使用書く脚本まだ

C/C++ で PHP を拡張する利点と欠点:
利点:
効率、効率性
PHP スクリプトの複雑さを軽減する 極端な場合には、PHP スクリプト関数で拡張実装を呼び出すだけで済みます。そうすれば、すべての機能が拡張され実装されます
デメリットも明らかです:
複雑な開発
保守性の低下
開発サイクルが長くなる 最も単純な例は、PHP スクリプトを使用する場合です。判定条件が間違っている場合は、この行を修正して保存するだけですぐに反映されます。 C/C++ で書かれた PHP 拡張機能の場合は、ソース コードを変更し、再コンパイルして PHP にリロードし、効果を確認するために Apache を再起動する必要があります。
C に精通している場合、PHP 拡張機能を作成するのはそれほど難しくありません。 PHP 自体は、開発を簡素化するためのフレームワークを提供します。
PHP 拡張機能の開発を開始する最も簡単な方法は、PHP が提供する拡張機能フレームワーク ウィザード ext_skel を使用することです。これを使用するには、まず PHP ソース コードをダウンロードする必要があります。 、または開発パッケージで、PHP ソース コードの ext ディレクトリに入ると、このツールが見つかります。
拡張機能を生成します:
./ext_skel --extname=myext
/myext と入力し、拡張機能の種類を選択します:
vi config.m4
次の 2 つのタイプのいずれかを選択するだけです:

コードをコピーしますコードは次のとおりです:

//(外部ライブラリに依存します)
dnl PHP_ARG_WITH(myext, myext supportの場合,
dnl コメントが整列していることを確認してください:
dnl [ --with-myext Include myext support])
//dnl を削除します
PHP_ARG_WITH(myext, for myext support,
コメントが整列していることを確認してください:
[ --with-myext ] Include myext support])

//または //(外部ライブラリに依存しない) dnl PHP_ARG_ENABLE(myext, myext サポートを有効にするかどうか,dnl コメントが整列していることを確認してください:dnl [ --enable-myext myext サポートを有効にする])//dnl を削除します
ヘッダー ファイルを変更します php_myext.h:
//PHP_FUNCTION(confirm_myext_compiled); /* テスト用に後で削除します */
//
PHP_FUNCTION(myext) に変更します /* テスト用に後で削除します */
. c:
//Will
//zend_function_entry myext_functions[] = {
// PHP_FE(confirm_myext_compiled, NULL) /* テスト用に後で削除します */
// {NULL, NULL, NULL} /* である必要があります。 myext_functions[] の最後の行 */
//};
//
zend_function_entry myext_functions[] = {
PHP_FE(myext, NULL) /* テストのため、後で削除します */
{NULL, NULL, NULL} / * myext_functions[] の最後の行である必要があります */
};
//ファイルの最後に独自の関数を追加します
PHP_FUNCTION(myext)
{
zend_printf("Hello World!n");
}
独自の php をインストールします myext を拡張します:
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install


php.iniを変更し、次を追加します:
extension = "myext.so"
Webサーバーを再起動し、phpinfoを確認すると、拡張機能が表示されます:



新しいテスト php ファイルを作成します:

myext();

このファイルを実行すると、おなじみの「Hello World!」が表示されます。



www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327571.html技術記事 C/C++ で PHP を拡張する利点と欠点: 利点: 効率または効率により、PHP スクリプトの複雑さが軽減されます。極端な場合には、PHP スクリプトで拡張関数を呼び出すだけで済みます...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境