學習網站:http://blog.csdn.net/jayxujia123/article/details/5990246
php--一個重要的學習工具
在大學裡面,電腦專業的人都學過c語言版本的資料結構,本來資料結構的事項與演算法都是很簡單的幾句話,當時用c寫出來就會一大堆,特別是邊界條件,特殊情況考慮的比較全的時候,我們會發現c的表達能力其實不是很好。
php簡單的理解就是一個c語言的類庫,你去php.net 下面下載一下它的原始碼就會發現,首先php的核心是zend engine ,它是一個用c語言寫的函數庫,用於處理底層的函數管理,記憶體管理,類管理,和變數管理。在核心上面,他們寫了很多擴充,這些擴充大多數都是獨立的。用作業系統來比喻的話,zend engine 就是一個作業系統,然後官方提供了很多“應用程式”,只是這個“應用程式” 不是media play 而是 mysql , libxml,dom。當然,你也可以根據zend engine 的api 開發自己的擴充,有空我會整理一下這方面的開發經驗,給大家分享。
php是一門很實用的語言,當然,效率可能不是很高,但是對於一般的需求已經足夠了。不知道大家有沒有考慮過,或者想過php版本的資料結構的問題。如果你對照ADT的定義,讓然後用php開始寫,你會發現,完成以前讓你頭疼的資料結構的題目已經變的很輕鬆了。舉個例子,我們要實現一個stack,你會發現,php裡面的array就已經有了全部的功能了,你已經沒有必要寫了,也許你覺得array不純粹,那也沒有關係,你可以用一個類簡單的封裝一下,而且還有一個好處,這個stack沒有類型的限制,你要放int就int,放char就char,而其他語言中很有可能要用到什麼泛型,模板之類的技術才可以實現。就我們領會stack的意義和來說,php版本的實現已經足夠了。你會發現用php做你以前的資料結構題會很有趣,而且你對資料結構也會有新的理解。
php專註於網路技術,如果你對搜尋引擎感興趣,並且看過一些用c++ 或者 java 寫的搜尋引擎,你可以簡單的用php來實現一個,你會發現這個開發會很輕鬆,當然,你的搜尋引擎在效率上不能滿足大規模應用,但是這可以讓你理解基本的搜尋引擎的概念。
在我看來php不僅僅是門很實用的語言,也是一個很好的學習的工具。他能讓你不用去處理那些語言層次的亂七八糟的東西,直接面向問題的本質與思想。