検索
ホームページphp教程php手册php的扩展和嵌入--总纲

初步接触了php开发以及php扩展的相关内容,发现extending and embeded php这本书很不错,很多问题也讲的非常透彻。这里把读到的一些书中的内容和自己的实践结合起来展示一下,既是给自己留档,也是抛砖引玉,期待php大牛的指导。

extending and embeded php这本书还有一个中文版,有些东西新一些,也可以参考下:
http://www.walu.cc/phpbook/preface.md

这本书主要讲两个方面:

  • 如何通过添加函数、类、资源和流的方式来扩展php

  • 如何把php语言嵌入到其他应用中去 那么为什么需要php扩展呢?:
    • 连接额外的库,并以api的形式提供给用户空间的脚本。比如被封装好的mysql
      • 是在第三方的库和php的核心之间提供一种扩展,因此php被称为是胶水语言
      • 进行特殊的内部操作,比如声明超级变量,用户空间因为安全原因是有限制的。比如php的advanced php debugger 和runkit主要就是干这个的
      • 速度原因:令牌化、编译、运行,Opcode可以缩减前两步,但是执行这一步的话还是变成C code比较好。
      • 在不暴露出源码的情况下提供功能
        下图中给出了php的总体结构:

        其中各部分模块的功能如下:
        SAPI:是跟web server的接口层 PHP Core:对于核心事件的连接层,处理类似于文件处理、错误处理这类操作 Zend Engine:把脚本编译成机器语言,执行bytecode,读入写出用户空间变量,控制程序流,解析扩展。 TSRM:thread safe resource management:使得一个单个的php实例具有能够同时处理很多独立的请求的能力 这本书分成了三个部分,第一个部分是对php的重新介绍,主要叙述了php的解释器如何黏合在一起。第二个部分则主要在讲php的扩展,所涉及的方面如下:
        • PHP API 一些php内部的函数和宏
        • 如何把php脚本转换成c code:每个php的脚本的背后都牵涉到了c语言的相应处理,这种对应关系对扩展的开发十分有用
        • 执行那些用户空间不可能的操作:很多时候需要执行一些类似于超级变量这种在用户态无法完成的动作,这个时候需要利用扩展进行相应的处理。 而第三个部分则是叙述如何把php嵌入到相应的应用中去:
          • 首先是给应用加上相应的php支持
          • 其次是充分利用php相应的安全特性
          • 最后则是说明php如何同时处理多个请求 由于刚刚开始学习php,所以一些错误再所难免,请一定指正。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

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 プラットフォームで実行できます。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。