php來源
PHP原始為 Personal Home Page的縮寫,現已經正式更名為 PHP: Hypertext Preprocessor的縮寫。注意不是「Hypertext Preprocessor」的縮寫,這種將名稱放到定義中的寫法被稱作遞歸縮寫。PHP於19
ISAPI篩選器94年由Rasmus Lerdorf創建,剛剛開始是Rasmus Lerdorf 為了要維護個人網頁而製作的一個簡單的用Perl語言編寫的程序。最初這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,包括可以訪問資料庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。
在1995年早期以Personal Home Page Tools (PHP Tools) 開始對外發表第一個版本,Lerdorf寫了一些介紹此程序的文檔。並且發布了PHP1.0!在這早期的版本中,提供了訪客留言本、訪客計數器等簡單的功能。以後越來越多的網站使用了PHP,並且強烈要求增加一些特性。比如循環語句和數組變數等等;在新的成員加入開發行列之後,Rasmus Lerdorf 在1995年6月8日將 PHP/FI 公開發布,希望可以透過社群來加速程序開發與尋找錯誤。這個發布的版本命名為 PHP 2,已經有今日 PHP 的一些雛型,像是類似 Perl 的變數命名方式、表單處理功能、以及嵌入到 HTML 中執行的能力。程序語法上也類似 Perl,有較多的限制,不過更簡單、更有彈性。PHP/FI加入了對Mysql的支持,從此建立了PHP在動態網頁開發上的地位。到了1996年底,有15000個網站使用 PHP/FI。
在1997年,任職於 Technion IIT 公司的兩個以色列程序設計師:Zeev Suraski 和 Andi Gutmans,重寫了 PHP 的剖析器,成為 PHP 3 的基礎。而 PHP 也在這個時候改稱為PHP:Hypertext Preprocessor.[5]。經過幾個月測試,開發團隊在1997年11月發布了 PHP/FI 2。隨後就開始 PHP 3 的開放測試,最後在1998年6月正式發布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 發布後開始改寫PHP 的核心,這個在1999年發布的剖析器稱為 Zend Engine[7],他們也在以色列的 Ramat Gan 成立了 Zend Technologies 來管理 PHP 的開發。
在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式發布,2004年7月13日則發布了PHP 5,PHP 5則使用了第二代的Zend Engine[5]。PHP包含了許多新特色,像是強化的面向對象功能、引入PDO(PHP Data Objects,一個存取資料庫的延伸函數庫)、以及許多效能上的增強。至2013年PHP 4已經不會繼續更新,以鼓勵用戶轉移到PHP 5。
2008年PHP 5成為了PHP唯一的有在開發的PHP版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化。PHP 6 的開發也正在進行中,主要的改進有移除register_globals、magic quotes 和 Safe mode的功能。
PHP最新穩定版本:5.3.21(2013.1.17)
PHP最新發布版本:5.4.11(2013.1.17)
2. php是世界上最好的語言
PHP是世界上最好的語言。這是網路上廣泛流傳的一個梗,並不是說PHP就真的是編程最好的語言,其實每款編程語言都有自身的優勢以及所專長的領域,並不能簡單地說PHP就是最好的編程語言,這多少有點調侃的成分。
PHP優點
(一)流行,容易上手
PHP是目前最流行的編程語言,這毋庸置疑。它驅動全球超過2億多個網站,有全球超過81.7%的公共網站在伺服器端採用PHP。PHP常用的數據結構都內置了,使用起來方便簡單,也一點都不復雜,表達能力相當靈活。
(二)開發職位很多
在伺服器端的網站編程中PHP會更容易幫助你找到工作。很多互聯網相關企業都在使用PHP開發框架,所以可以說市場對PHP的開發程序員的需求還是比較大的。
(三)仍然在不斷發展
PHP在不斷兼容著類似closures和命名空間等技術,同時兼顧性能和當下流行的框架。版本是7之後,一直在提供更高性能的應用。
(四)可植入性強
PHP 語言在補丁漏洞升級過程中,核心部分植入簡單易行,且速度快。
(五)拓展性強
PHP 語言在資料庫應用過程中,可以從資料庫調取各類數據,執行效率高。
PHP缺點
(一)PHP的解釋運行機制
在 PHP 中,所有的變數都是頁面級的,無論是全局變數, 還是類的靜態成員,都會在頁面執行完畢後被清空。
(二)設計缺陷,缺少關注PHP被稱作是不透明的語言,因為沒有堆棧追蹤,各種脆弱的輸入。沒有一個明確的設計哲學。早期的PHP受到Perl的影響,帶有out參數的標准庫又是有C語言引入,面向對象的部分又是從C++和Java學來的。
(三)對遞歸的不良支持
PHP並不擅長遞歸。它能容忍的遞歸函數的數量限制和其他語言比起來明顯少。
這句話的產生,雖然帶有一定php碼農個人感情色彩的偏見,但是未嘗沒有道理。首先,PHP的使用率遠遠高於其他語言的使用率,在web開發中佔有很大份額。
同時PHP作為一種通用開源語言,因其語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛。具有簡單易懂的語法、沒有奇怪的黑魔法、既能面向過程,又能面向對象、安裝後各種擴展集一身、包括但不限於mysql、json、mbstr等,方便至極。
在這種情況下,PHP就被戲稱為「世上最好的語言」,當然它也不負眾望,成了大部分IT碼農的首選。它的門檻低,使得更多新手小白入門快,能快速了解IT這行,以及自己的工作性質。語法簡單,很快融入其中,被成為「弱類型語言」。
現在很多重量級的開源項目都會使用PHP語言,企業開發上也越來越支持使用PHP。它成熟的框架,大大縮短開發周期,在加上成本低,導致了市場需求大。
(2)php來源擴展閱讀
主要參考框架
(一)CodeIgniter的優點
1、配置簡單,全部的配置使用 PHP腳本來配置,執行效率高;具有基本的路由功能,能夠進行一定程度的路由;具有初步的Layout功能,能夠製作一定程度的界面外觀;資料庫層封裝的不錯,具有基本的MVC功能。
2、快速簡潔,代碼不多,執行性能高,PHP框架簡單, 容易上手,學習成本低,文檔詳細;自帶了很多簡單好用的library,框架適合小型應用。
(二)CodeIgniter 缺點
1、把Model層簡單的理解為資料庫操作。
2、PHP 框架略顯簡單,只能夠滿足小型應用,略微不太能夠滿足中型應用需要。
(三)CakePHP 的優點
1、CakePHP 是最類似於RoR的 PHP 框架,包括設計方式,資料庫操作的Active Record方式;設計層面很優雅,沒有自帶多餘的 library,所有的功能都是純粹的框架,執行效率還不錯;資料庫層的hasOne,hasMany 功能很強大,對於復雜業務處理比較合適;路由功能,配置功能還不錯;自動構建腳手架(scaffold)很強大;適合中型應用;基本實現過了MVC每一層; 具有自動操作命令行腳本功能。
2、文檔比較全,在國內推廣的比較成功,大部分人都知道CakePHP,學習成本中等。
(四)CakePHP 的缺點
1、CakePHP非常嚴重的問題是把Model理解為資料庫層操作,嚴重影響了除了資料庫之外的操作能力
2、CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應用,只適合中型應用,小型應用來說略微的學習成本高了點。
參考資料來源:網路-PHP
3. php鏄涓栫晫涓婃渶濂界殑璇璦
php涓嶆槸涓栫晫涓婃渶濂界殑璇璦錛岃繖鍙ヨ瘽鏄涓涓姊椼傛槸鐢ㄦ潵鍢茶界▼搴忓憳鎶鏈杈冨樊錛屾瘮杈冨垵綰э紝鎴栬呭彧鍠勪簬鍋氶敭鐩樹緺錛岃屾病鏈夌湡鏈浜嬨
PHP璇嶈鏉ユ簮錛氬洜涓篜HP涓婃墜姣旇緝綆鍗曪紝鎷ヨ陡浼楀氾紝鍙堟槸鏃╂湡浜掕仈緗戠殑閲嶈佹湇鍔$璇璦銆傛墍浠ュ湪鍚勪釜紺句氦騫沖彴涓婃椂甯歌兘瑙佸埌璁ㄨ猴紝鐢氳嚦鍚規崸PHP鐨勬枃絝犮傚叾涓闅懼厤鏈夋妧鏈杈冨樊錛屾垨璁ょ煡涓嶅埌浣嶇殑鍒濈駭紼嬪簭鍛樸傚洜姝よ粹淧HP鏄鏈濂界殑璇璦鈥濅究鎴愪簡涓鍙ュ弽璁界殑絎戣皥銆
鎵╁睍璧勬枡
php浼樼偣錛
1銆佹祦琛岋紝瀹規槗涓婃墜
PHP椹卞姩鍏ㄧ悆瓚呰繃2浜垮氫釜緗戠珯錛屾湁鍏ㄧ悆瓚呰繃81.7%鐨勫叕鍏辯綉絝欏湪鏈嶅姟鍣ㄧ閲囩敤PHP銆侾HP甯哥敤鐨勬暟鎹緇撴瀯閮藉唴緗浜嗭紝浣跨敤璧鋒潵鏂逛究綆鍗曪紝涔熶竴鐐歸兘涓嶅嶆潅錛岃〃杈捐兘鍔涚浉褰撶伒媧匯
2銆佷粛鐒跺湪涓嶆柇鍙戝睍
PHP鍦ㄤ笉鏂鍏煎圭潃綾諱技closures鍜屽懡鍚嶇┖闂寸瓑鎶鏈錛屽悓鏃跺吋欏炬ц兘鍜屽綋涓嬫祦琛岀殑妗嗘灦銆傜増鏈鏄7涔嬪悗錛屼竴鐩村湪鎻愪緵鏇撮珮鎬ц兘鐨勫簲鐢ㄣ
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-PHP
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-PHP鏄鏈濂界殑璇璦