php的擴充和嵌入--總綱_PHP教程

來源:互聯網
上載者:User
初步接觸了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,所以一些錯誤再所難免,請一定指正。

            http://www.bkjia.com/PHPjc/621630.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/621630.htmlTechArticle初步接觸了php開發以及php擴充的相關內容,發現extending and embeded php這本書很不錯,很多問題也講的非常透徹。這裡把讀到的一些書中的內容...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.