PHP概述

編譯型語言&解釋型語言

  • 編譯型語言:編譯型語言寫的程序在被執行前,需要有一個專門的編譯過程,把程序編譯成機器語言的文件,比如exe文件。如果以后要運行,直接使用編譯的結果便可,而不用再重新編譯,因此一般來說執行效率比解釋型語言要高。
  • 解釋型語言:不用編譯,需要專門的解釋器來解釋執行,每條語句都是執行時才翻譯,因此程序每執行一次就需要翻譯一次,效率較低。

弱類型語言

  • 弱類型語言是指在使用變量時,不需要做任何類型的聲明,該語言即可根據變量的值自動判斷變量類型。
  • 這也是PHP及其方便的一點,不過在某些特殊情況下,還是需要嚴格遵守變量類型的定義規范(比如商品價格)。

簡介

  • PHP(Hypertext Preprocessor,超文本預處理器,追溯到最初應該叫Personal Home Page,個人主頁 )是一種腳本語言,從本質上來說,也就是解釋型語言,不需要編譯,但需要有相應的腳本引擎來解釋執行。
  • PHP是一種運行于后端服務器的腳本語言,開源且免費。可鑲嵌于HTML頁面中解析共存,動態創建輸出內容,是構建網頁最為省時簡單的解析性腳本語言。自版本7發布之后,PHP的應用變得更加廣泛。

各個版本

  • PHP4引入面向對象等等等
  • PHP5極大提高面向對象能力等等等。PHP 5.6 將會在 2018 停止安全更新
  • PHP 7.1 非常新,相較于 5.x 版本增加了強大的 新特性。PHP 引擎大部分被重寫,PHP 的運行速度已經遠遠超越過去。

PHP運行原理

當用戶代碼輸入給PHP內核去執行的時候, PHP內核會對PHP代碼進行詞法分析和語法分析, 詞法分析是把PHP代碼分割成一個個的“單元”(TOKEN), 語法分析則將這些“單元”轉化為Zend Engine可執行的操作。 然后PHP內部的Zend Engine對這些操作進行順次的執行。 Zend Engine是PHP內核的核心部分,負責最終操作的執行和結果的返回, 可以理解成為PHP內核中的“發動機”。


原理

關于PHP與JAVA的看法

JAVA有多種成熟的架構供選擇,例如SSH框架。雖然PHP也有眾多框架,但由于PHP的語言特性更偏向面向過程,同時框架又和面向對象編程思想有很強的聯系,因此PHP在框架這條路上與JAVA相去甚遠。簡單的系統設計PHP完全可以勝任,而復雜的系統設計,意味著后端代碼必須模塊化,要高內聚/低耦合以及代碼重用,JAVA更適合這樣的場景。
  這里扯一下PHP與面向對象不那么友好,比如不支持方法重載、操作符重載、多重繼承(有人說通過遞歸實現,會扛不住,這里Mark一下,記住這個點)。不過PHP引入了trait,與多重繼承相似的一種代碼復用機制。

trait

Trait 和 Class 相似,但僅僅旨在用細粒度和一致的方式來組合功能。 無法通過 trait 自身來實例化。它為傳統繼承增加了水平特性的組合;也就是說,應用的幾個 Class 之間不需要繼承。
  從基類繼承的成員會被 trait 插入的成員所覆蓋。優先順序是來自當前類的成員覆蓋了 trait 的方法,而 trait 則覆蓋了被繼承的方法。

<?php
trait HelloWorld {
    public function sayHello() {
        echo 'Hello World!';
    }
}

class TheWorldIsNotEnough {
    use HelloWorld;
    public function sayHello() {
        echo 'Hello Universe!';
    }
}

$o = new TheWorldIsNotEnough();
$o->sayHello();
?>

output:
Hello Universe!

近期想回顧一下基礎,發現自己對很多東西沒有了解透徹,查看他人的博客,然后瞎寫了上面一點東西,如有錯漏,歡迎指出。
參考:http://www.lxweimin.com/p/45a99aedc7ab
http://www.epnz.com/?p=art&id=914
http://www.lxweimin.com/p/90257a757884

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容

  • window下安裝方法Appserv 官網http://www.appservnetwork.com安裝成功后,到...
    深沉的簡單閱讀 649評論 0 0
  • 轉自陳明乾的博客,可能有一定更新。 轉原文聲明:原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、...
    C86guli閱讀 4,713評論 6 72
  • 周六,按平常早起給女兒準備了早餐,因昨天睡得晚,看著點叫她起床了,還好沒有賴床馬上洗漱就吃飯,準備書去輔導班。今...
    金慧恩媽媽閱讀 167評論 0 0
  • 筆耕不輟之任何年齡都不晚 做健康直播三個多月了,看到在直播時很多朋友問的問題很有意思。其中有人會問:我五十多了,六...
    理療瑜伽邵閱讀 231評論 0 0
  • “我累了,做回朋友吧,葉子。”冬日暖陽,站在窗前,在聽了近九分鐘沉默后,電話那頭傳來嘟嘟聲。窗外,原來停止不前的車...
    木楚閱讀 727評論 5 8