PHP,是英文超級文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在伺服器
端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛的運用。PHP源碼指的使用PHP開發的實例,沒有經過二次封裝,能夠直接進行二
次開發的程序,PHP簡單易學,如果你想學網站開發,PHP是一個不錯的選擇,因會PHP跟其它語言相對有一定的優勢:
1、PHP是開放的源代碼:所有的PHP源代碼事實上都可以得到。
2、PHP是免費的。和其它技術相比,PHP本身免費。
3、php的快捷性,程序開發快,運行快,技術本身學習快。嵌入於HTML:因為PHP可以被嵌入於HTML語言,它相對於其他語言,編輯簡單,實用性強,更適合初學者。
4、跨平台性強:由於PHP是運行在伺服器端的腳本,可以運行在UNIX、LINUX、WINDOWS下。
5、效率高:PHP消耗相當少的系統資源。
6、圖像處理:用PHP動態創建圖像
7、面向對象:在php5 中,面向對象方面都有了很大的改進,現在php完全可以用來開發大型商業程序。
8、專業專註:
Ⅱ php底層原理 php是如何運行的
1、PHP動態語言執行過程:拿到一段代碼後,經過詞法解析、語法解析等階段後,源程序會被翻譯成一個個指令(opcodes),然後ZEND虛擬機順次執行這些指令完成操作。PHP本身是用C實現的,因此最終調用的也是C的函數,實際上,我們可以把PHP看做一個C開發的軟體。
2、PHP的4層運行體系:
(1)Zend引擎:Zend整體用純C實現,是PHP的內核部分,他將PHP代碼翻譯(詞法、語法解析等一系列編譯過程)為可執行opcode的處理並實現相應的處理方法、實現了基本的數據結構(如:hashtable、OO)、內存分配機制及管理、提供了相應的api方法供外部調用,是一切的核心,所有的外圍功能均圍繞Zend實現。
(2)Extensions:圍繞著Zend引擎,extensions通過組件式的方式提供各種基礎服務,我們常見的各種內置函數(array系列)、標准庫等都是通過extension來實現,用戶也可以根據需要實現自己的extension的典型應用)。
(3)Sapi:Sapi全稱,也就是服務端應用編程介面,Sapi通過一系列鉤子函數,使得PHP可以和外圍交互數據,這是PHP非常優雅和成功的設計,通過sapi成功的將PHP本身和上層應用解耦隔離,PHP可以不再考慮如何針對不同應用進行兼容,而應用本身也可以針對自己的特點實現不同的處理方式。
(4)上層應用:這就是我們平時編寫的PHP程序,通過不同的spai方式得到各種各樣的應用模式,如何通過webserver實現web應用、在命令行下已腳本方式運行等等。
Ⅲ 如何迅速找到PHP底層源碼中找到指定函數的實現位置
如果要看這兩個函數在標准庫中的定義用ctags或cscope生成索引.h,cscope,可以跳轉到函數定義,man malloc,聲明見stdlib。
如果仍然找不到,可以用ctags,si或grep。
windows下用source insight也可,然後查找函數定義,用grep -r 搜索關鍵字,atoi和malloc在C的標准庫中有定義。
1.安裝ctags
在源代碼目錄下運行
ctags -R
這樣,會遞歸生成當前目錄下及其子目錄的tags文件。
2.使用VIM根據tags文件查找函數或結構定義。
1.在源碼目錄下查找
vi -t tagname
2.如果要在任意位置使用,則需要把該tags文件添加到~/.vimrc文件中
set tags=/home/money/sda8/2.6232/tags
3.如果要在代碼中實時跟蹤,則游標移動到函數名上,使用CTRL+]鍵,按CTRL+t可以返回。
如果要跟蹤系統函數,使用shift+K可以自動跳轉道游標所在函數的手冊。
Ⅳ 什麼是源代碼PHP裡面
PHP是一種在伺服器上面運行解釋的腳本語言。一般來說我們在瀏覽器中看到的是PHP執行後的結果。
PHP的源代碼就是以.PHP結尾的文件,用記事本打開,內容以<?php開頭,?>結尾的就是她的源代碼。