ホームページ >バックエンド開発 >PHPチュートリアル >PHP 拡張機能と埋め込み -- 概要_PHP チュートリアル

PHP 拡張機能と埋め込み -- 概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:18:40958ブラウズ

私は最初に PHP 開発と PHP 拡張関連のコンテンツに触れましたが、『Extending and Embeded PHP』という本が非常に優れており、多くの問題も非常に徹底的に説明されていることがわかりました。ここでは、私が読んだいくつかの本の内容を私自身の実践と組み合わせて示します。これは、私自身の記録であるだけでなく、PHP 専門家の指導を期待しています。

php を拡張して埋め込んだこの本の中国語版もあります。新しいものもあるので、それを参照することもできます:
http://www.walu.cc/phpbook/preface.md

この本では主に次の 2 つの側面について説明します。

  • 関数、クラス、リソース、ストリームを追加して PHP を拡張する方法

  • PHP言語を他のアプリケーションに埋め込む方法 では、なぜ php 拡張機能が必要なのでしょうか? :
    • 追加のライブラリを接続し、API としてユーザー空間スクリプトに提供します。たとえば、カプセル化された mysql
      • サードパーティのライブラリと PHP のコア間の拡張機能を提供するため、PHP はグルー言語と呼ばれます
      • スーパー変数の宣言などの特別な内部操作を実行します セキュリティ上の理由から、ユーザー空間は制限されています。たとえば、php の高度な php デバッガーと runkit は主にこの
      • 速度の理由に使用されます: トークン化、コンパイル、実行により最初の 2 つのステップを短縮できますが、これを実行するときは C コードに変換する方が良いです。ステップ。
      • ソースコードを公開せずに機能を提供する
        php の全体的な構造を以下の図に示します:

        各モジュールの機能は次のとおりです:
        SAPI: Webサーバーとのインターフェース層です。 PHP コア: コア イベントの接続層では、ファイル処理やエラー処理などの操作を処理します。 Zend Engine: スクリプトを機械語にコンパイルし、バイトコードを実行し、ユーザー空間変数を読み書きし、プログラム フローを制御し、拡張を解析します。 TSRM: スレッドセーフなリソース管理: 単一の PHP インスタンスが多数の独立したリクエストを同時に処理できるようにします。 この本は 3 つのパートに分かれており、最初のパートは PHP の再入門であり、主に PHP インタプリタがどのように結合されているかについて説明します。 2 番目のパートでは主に PHP 拡張機能について説明します。関連する側面は次のとおりです:
        • PHP API いくつかの PHP 内部関数とマクロ
        • PHP スクリプトを C コードに変換する方法: 各 PHP スクリプトの背後には C 言語の対応する処理が含まれており、この対応は拡張機能の開発に非常に役立ちます
        • これらのユーザー空間を実行します 不可能な操作: 何度もユーザーモードでは実行できないスーパー変数と同様のアクションを実行する必要があります。このとき、対応する処理には拡張機能を使用する必要があります。 3 番目の部分では、PHP を対応するアプリケーションに埋め込む方法について説明します。
          • 1つ目は、対応するPHPサポートをアプリケーションに追加することです
          • 2つ目は、PHPの対応するセキュリティ機能を最大限に活用することです
          • 最後は、PHPが複数のリクエストを同時に処理する方法を説明することです PHP を学び始めたばかりなので、いくつかの間違いは避けられません。修正してください。

            www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/621630.html技術記事私は最初に PHP 開発と PHP 拡張関連のコンテンツに触れましたが、『Extending and Embeded PHP』という本が非常に優れており、多くの問題も非常に徹底的に説明されていることがわかりました。私が読んだ本の内容を一部ご紹介します
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。