A. 如何才能學好php呢有沒有大牛的php學習心得總結,求指教!
1、熟練掌握HTML/CSS/javascript等網頁的基本元素,可自行製作完整的網頁。
2、熟練配置php的開發環境.並選擇一種適合自己的開發工具。
3、熟悉php語法,理解動態網頁的運作機制。
4、熟練掌握如何將HTML/CSS/Javascript與php語言完美結合起來,完成動態頁面的製作。
5、熟悉資料庫MySQL,並能沒計資料庫,能靈活使用常見的SQL語句。
6、不斷的練習.能熟練使川php的大部分函數。
7、熟練掌握php中的模板技術,如Smarty模板等。
8、能獨薩開發一個功能齊全的動態站點。
想要學習PHP的話線下學習費用高昂、地域限制,建議選擇線上平台。如今線上學習無論是就業還是教學均已完善。扣丁學堂具有完整系統的PHP開發培訓視頻教程,頂級行內大牛為學員們設定了可視化的學習線路直通車,讓沒有學習方向的學子一目瞭然,最快的進入PHP領域大門。
B. 怎樣深入學習php,成為php高手
我是大學畢業1年半左右開始學習PHP的,當時的年齡是22歲,23歲不到。我的主要學習方式就是看書–>看視頻教程–>照著視頻寫代碼–>找工作–>工作中學習–>工作之餘學習。
一、年齡大怎麼辦
首先來說一下學習年齡,我畢業的時候是23歲不到,學習的時候實際年齡也沒滿25歲。以一般人的觀點來說,這個年齡學習編程已經不具備年齡優勢,但是凡事沒有絕對,因人而異,關鍵在於你自己是否真的想學,有那個毅力,當然也要一點天賦。站長在大學里學過C語言,應該說還有點底子,而恰恰PHP又是用C語言寫的,語法方面非常相似,所以入門的時候還不算費勁。也就是在學習PHP的時候我才感覺到大學里用心學習的意義,來日方長,當時用不到,不代表以後就用不到,在此也對那些認為大學里學習無用的朋友說一聲:多學一點沒壞處。
二、書怎麼看
如果你已經下定了決心要學習了,接下來就應該選擇一本好教程。【這只是站長的建議,如果你覺得直接看視頻更適合你可以選擇跳過。】站長並不推薦看國內的計算機教材,內容平平不說,而且很多是過時 的,倒不是貶低國內的計算機水平,只是濫竽充數的實在太多,想找一本好書太難。我看的教材是《PHP與Mysql web開發》原書第四版【之前還看過一本不入眼的教材就不推薦了】,俗稱「PHP聖經」,這兩個名字你任意網路一個都可以搜到,建議到網上購買,書店裡的太貴。如果你之前沒有學習過html和javascript,我建議大家先去找這方面的教材看,html和基礎javascript都很簡單,不需要害怕。
我個人的經驗,光看書本你不會學到太多,因為編程是要在實際寫代碼的過程中才會深刻體會到理論。但是書上的內容可以給你先在腦海中對php是怎麼一回事形成一個大概的印象,有一些內容你可能一時無法理解消化,我不建議大家在一個地方停留太久,不行就跳過去,繼續往後看,但是要把不懂的地方做一下記號,當我們進行到下一步的時候逐一解決。
三、選擇好的視頻教程
由於個人的接受方式不一樣,所以不存在符合所有人的視頻教程。站長先入為主的看了《中學大學PHP教程》,這是台灣中原大學一個老師出的,5集。用來入門是不錯的選擇,當然也可以去php100中文網看教程,php100的教程比較多,也講得比較淺,入門也是不錯的。建議大家下載看,不要圖快,要有耐性,站長當初1天看1集,5天看完的。下載看最大的好處就是,一時走神了沒注意可以退回去繼續看,o(∩_∩)o 哈哈!在看視頻教程的時候,留心注意自己看書時遇到的問題,因為視頻教程往往都配有代碼講解,所以應該能夠為你解決一部分在看書時遺留下來的問題。
四、動手寫代碼–依葫蘆畫瓢
看完書和視頻後,就可以嘗試自己動手寫代碼了,站長是照著視頻寫的,因為第一次寫很多地方不記得,經常把視頻退回去看他怎麼寫的【囧!】。這個過程並不舒服,但是咬牙堅持下來,你會發現,依葫蘆畫瓢就會漸漸催生你自己的代碼。因為依葫蘆畫瓢只是讓你理解php網站開發的基本原理,一個功能的具體業務邏輯怎麼實現,代碼的執行流程是怎麼樣的,代碼以什麼樣的方式構成,並不是要你生搬硬套,這一點要切記,否則你離開視頻就無法動手的話,那就麻煩了!
五、找工作
當你看了一段時間的視頻教程,寫過一段時間的代碼後就可以嘗試去找工作了,記住程序員最主要的是編程思想,也就是解決問題的方法,如果你還沒有領悟這一點,就不要操之過急。你最好已經寫過一些拿得出手的作品,掌握smarty或者任何一種開源框架,框架入門推薦thinkphp。剛出來找PHP工作,期望值低一些,如果是才畢業的沒有項目經驗,可以找找招實習生的公司或者一些對技術要求不高的小公司,總之先讓自己工作,進行實戰,在工作中你會遇到很多問題,這都是學習的機會。站長當初寫了一個留言板就去找程序員的工作了,而且運氣不錯,還真讓我找到了,呵呵,很多人都覺得不可思議呢!天啊?寫一個留言板就去工作了!現在想想,我也夠猛的。
六、最後談一下PHP對數學基礎的要求
首先要明確一點,任何編程語言,數學基礎好,在學習和使用的過程中都會事半功倍!而在php中,主要是做web開發,並不十分要求高深的演算法,所以對數學的要求相對C/C++這類語言來說,是要低得多的。關鍵在開發的過程中思路要清晰,代碼要嚴謹,所以邏輯思維很重要。而當你深入學習到一定程度,也是需要一定的數學基礎來支撐的。畢竟數學基礎好說明你的邏輯思維不差,而一些數據結構、特定功能的實現也是需要數學的。
總的來說,如果數學基礎差,在剛開始學習的時候是不需要太擔心的,但是如果要深入提高,就有必要自己充充電了。
以上就是個人 2年多來的一點經驗,關鍵還是多看、多寫、多找。看自己的代碼,進行改進優化;看別人的代碼,取長補短;寫自己的代碼,增強語言熟練度和編程經驗;遇到不懂的問題,多利用搜索引擎。
只要有恆心、堅持下來,相信大家都會很快度過那段菜鳥的艱苦歲月,變身老鳥向高手達人進發!
這里,站長與諸君共勉,共同在php的世界裡闖出自己的新天地!
C. PHP為什麼會被認為是草根語言
從PHP誕生之日起,PHP就開始在Web應用方面為廣大的程序員服務。同時,作為針對Web開發量身定製的腳本語言,PHP一直秉承簡單、開源的思想,這也使得PHP得以快速的發展,並且大力地推動Web2.0的出現與發展。但是,長期以來,PHPer(PHP Programmers)被認為是處於草根階層的程序員,被認為是技術含量少,層次低的程序員。這點在國內尤其突出。
記得一個技術主管說過這樣一個事情。他給一個程序員分配了PHP的開發任務,沒想到那個程序員居然說:「我是學Java出身的,你讓我去寫 PHP,你這不是在貶低我嗎?」。這件事情給我印象很深、觸動也很大。雖然這不能代表大部分程序員的看法,但是這么認為的人應該不少。還有人說,現在如果是大型的政府項目,PHP是肯定不會被列入考慮的范圍之內的。
那麼為什麼PHPer會被認為是草根階層,是因為它很簡單,人人都可以學會,所以沒什麼難度嗎?我以前也是這么認為。PHP入門很快,處理文件,數據,遠程連接,網路編程都非常方便,官方也有這樣的說法:PHP學習的成本很低,所以你容易去使用它。這個想法也是普遍的,甚至大部分的PHPer 自己都這樣認為。
說到這里,我想大家就會想到我為什麼要寫這些文字。因為一年多的PHP推廣工作讓我了解到許許多多的使用PHP的公司的大概情況。在這些過程中我慢慢體會到其中的根本原因。這里我說是根本原因雖然是個人的看法,但是我覺得事實就是如此。
那麼為什麼PHPer會被看成草根階層,根本原因是PHPer所作的事情(通過代碼實現)的絕大部分都是表現層的東西,這個熟悉PHP的人都知道。當然也會有PHP會說他用MVC結構編寫的某某框架具備的如何如何的功能。但是這些還是表現層。所以只會處理表現層的程序員就被看成草根階層了。事實上也是如此,因為這種情況下PHP確實很難構造大型的應用。
這就找到原因了,不是的。為什麼PHPer總是在負責表現層的東西呢。答案是底層的數據處理(Web應用就是數據存儲和查找)我們一般不去觸及。好,那麼說到這里有些人可能已經想到了,那不就是資料庫嗎?對,就是資料庫。讓PHPer一直當草根的元兇就是資料庫。為什麼?
PHPer對MySQL的依賴過大
因為目前流行的web架構中,前端是負載均衡系統,中間是web伺服器,後面是資料庫伺服器。所以,大部分PHPer工作在Web伺服器層面。因為資料庫已經很好地為我們組織數據了。所以PHP中沒有太多的演算法,而且大家潛意識下也覺得不需要,更何況會影響性能。
這種情況下,PHPer就成為了資料庫使用者,他總是在操作資料庫。而不是在做程序。一個最簡單的PHP腳本就是,連接資料庫,把數據取出來,然後用命令輸出到瀏覽器。整個過程不超過10行代碼。給人的感覺就是太簡單了。沒有任何技術含量。為什麼了,因為數據處理部分都已經被資料庫做完了。尤其是MySQL的使用。MySQL是免費的,所以大多數程序員可以自由地使用它,另外MySQL的速度夠快了,所以做個PHP應用程序非常的簡單。這就相當於給你槍以後你覺得沒有必要學習武功一樣。當然,我不是說槍沒有武功好。而是說,槍的出現,小孩都可以輕松便捷地殺人了。
我們再詳細說說為什麼是資料庫。這里我說一個例子。我去過北京一家非常著名的網站,當時我們還有一個比較資深的PHP程序員在那說些系統架構的事情。我記得當時那個程序員問大家一個數據結構中的演算法問題的時候,全場沒有一個人能答得出來(包括我)。然後那個程序員就開始給大家講些很基礎的數據結構的東西了。讓我一下子回想到大學時候學的數據結構課。而這些基礎的數據排序、查找、傳遞的問題在其他高級語言(比如C)是非常普遍的。但是在PHP沒有。PHPchina.com的論壇也有個板塊叫PHP的數據結構和演算法。這個板塊的帖子也是寥寥無幾。
說到這里,大家明白了吧?大部分PHPer僅僅處理表現層的東西,而在MySQL的便捷使用下,PHPer幾乎不用觸及任何數據結構與演算法的情況下完成大部分開發任務,所以一個才有上面的,沒有一個PHP程序員能夠回答出那道數據結構的問題,換成是C等語言,情況可能就大不相同了。是PHPer草根,才讓PHP顯得草根。
仔細回想下,目前網路上大家討論的最多的是兩個方面的問題。一個是PHP的類的使用(處理過程的封裝),還有一個是開發框架問題。但是我們仔細分析的話,發現這些所謂的PHP中比較復雜的概念裡面沒有數據處理。為什麼,有資料庫。用一個Adodb或者PHP5的PDO就可以搞定了。真的搞定了嗎?不是,這些無非是在連接資料庫,沒有數據處理。所以PHPer似乎就沒有什麼可以拿出檯面上的東西。
再說一個具體的代碼問題,無級分類。這個概念我想大家都不會陌生了吧。我見過兩種處理方式。第一個是地道的PHPer的處理方式,也是目前比較流行的。就是用資料庫來處理。而且欄位很少,只需要加個父類的欄位並加以判斷就行了。而且這個方法很實用。效率也高。但是這個不是數據處理的范疇了,而是資料庫的查找。
第二個是C程序員用PHP寫出來的,他把所有的分類信息都從資料庫取出來,然後用數據結構演算法進行排列分布,然後輸出。
這里我們不對這兩種方式的效率進行對比,我想大家都有各自的想法。但是我想說明一個問題,就是這兩種做法的本質的區別。PHPer習慣性地用資料庫來處理,而且有很巧的處理方式,效率也很高。這種方式就是資料庫查詢。而第二種方法是比較有特點的。他認為資料庫就是存放數據的地方,具體的邏輯處理還要靠自己的邏輯。
因此,結論是第二種方法的使用者覺得自己強些,因為數據的邏輯是他組織的。並且覺得PHPer的那種做法無非就是會查詢資料庫罷了。所以他認為PHPer是草根級的,只懂得操作資料庫和排列頁面(smarty搞搞那種)。
讓資料庫回歸本職工作
說到這里,我想大家都已經回憶了不少自己平時用PHP做開發的經歷了吧,是否發現大家確實都在操作資料庫呢。
那麼我們來討論下這個問題。資料庫不好嗎?為什麼我一直用資料庫處理數據都沒有問題。我要說的是資料庫是有問題的,而且有很大的問題。當然這里我並不是說不能用資料庫,也不是在貶低資料庫的性能。而是,我們沒有充分認識到資料庫所起到的作用。
我的想法源起於這樣一個事情,有一次一個網站的技術總監問我,為什麼他們的網站那麼慢,要怎麼辦。當時,我的MSN里Zend總部的工程師正好在線,我就問他PHP響應比較慢了,怎麼辦?他當時直接告訴我,是資料庫問題。肯定是資料庫沒有優化設計好。所以,我沒有給那個技術總監確切的答案了,因為他們的資料庫設計我們是不能涉及的。所以就給了大概的資料庫優化的建議。這樣的事情屢次發生,我就開始懷疑,為什麼Zend總部的工程師每次都跟我說是資料庫的問題呢,難道我們不能從PHP層面來解決這個問題嗎?答案是不能。因為PHP目前的運行速度已經是很快了,通過Zend的性能分析也能看到一個用戶的點擊,PHP的運行時間只有10%不到,那PHP在干嗎?它在等。等資料庫的查詢結果。這個方面在目前的PHP產品中有了很大的提高,那就是 Caching和網頁靜態化兩個方案。
Caching可能大家會比較陌生,但是網頁靜態化現在連PHP產品的用戶都非常清楚了。速度快、容易被搜索到等等,好處不言而喻。開玩笑地說,現在網站的主頁實現網頁靜態化只需要硬碟足夠大。J至於Caching就比較復雜些,也是大多數PHPer感到頭疼的地方。甚至於有些人會用C來實現。因為Caching中的數據有效期驗證、查找、提取、更新等等都是比較難處理。當然,也有人會用資料庫來處理 Caching問題。
所以,當訪問量激增的時候,PHP架構的網站會出現的很多問題都因資料庫而起。資料庫的同步問題還不算什麼。關鍵是資料庫的響應速度會有指數級的降低。這個問題我在10月23號LAMP發布會的時候問過MySQL的副總裁。他當時也沒有給我比較完美的答案(這也我的意料之中),因為資料庫總會有瓶頸的,除非是神仙資料庫,哈哈!
這里有個題外話,LAMP大會的時候我跟Yahoo的一個技術高管聊的時候,我問他Yahoo在選擇MySQL還是Oracle的時候是怎麼考慮,他的答案令我非常驚訝。他說大部分的時候我們是會用MySQL的,因為它的性能已經達到我們的要求。但是什麼時候我們會選用Oracle呢,就是當我們需要存儲收費用戶的數據的時候。我就問為什麼,難道Oracle比MySQL穩定嗎?他說,這個倒沒有特別考慮。關鍵是如果使用Oracle的話,當出現問題的時候我們可以找到負責人,Oracle會負責事故的處理,但是如果用MySQL的話,我們找誰去?
所以,我們對資料庫的看法應該糾正過來,就是說資料庫不是萬能的。如果有實力的話自己開發資料庫。聽說Google就是那樣的。
那麼我們怎麼看待資料庫呢?我個人的理解是資料庫只是用來降低開發成本的手段。因為採用資料庫以後我們不需要考慮數據的存儲,尤其是排序和查找。但是這會帶來什麼問題呢?就是當業務膨脹的時候,資料庫就成為瓶頸了。這個時候問題就會非常棘手。因為這個是底層的數據處理。牽一發而動全身。
所以我認為正確的觀點是,資料庫是一個數據備份機。怎麼理解,我們只需要保證數據的存儲有效性就行了。而這本來就是資料庫的核心功能,只不過因為資料庫的方便的排序等功能讓大家把過多的處理都交給資料庫來操作了。一個用戶的點擊PHP就把一大堆的任務交給資料庫,然後把結果排列下給用戶就完事了。這對資料庫是不公平的。也是因此大家開始抱怨資料庫的性能了。
針對這個觀點,我們再舉個例子,有一次我去拜訪一個大型的網路公司(基本上國內只要上過互聯網的都知道),他們使用PHP很少,但是我了解到他們其它業務是怎麼使用資料庫。他們自豪地跟我介紹說他們在資料庫的外圍有個第二資料庫(我這里起名叫第二資料庫)。為什麼叫第二資料庫呢,原來它是一個緩存系統。那麼開發工程師怎麼去這個緩存系統獲取數據呢?那個技術總監自豪地說,他們這個緩存系統有SQL查詢語句。我當時很驚訝,但是後來想想確實需要這個。因為當你的緩存系統達到一定量級的時候從緩存獲取數據都非常復雜,乾脆寫個SQL查詢語句讓緩存系統分析、處理並返回數據。而且他們告訴我,在他們那裡,就算是用PHP的話也是讓PHP去那個緩存系統讀取數據。
所以說,如果你能處理好這樣的問題的話,把數據存放在資料庫,然後資料庫只起到備份的作用。然後你用自己的中間層來處理分析數據,效果是90% 以上的用戶不訪問資料庫。有人就會說了,這不就類似連接池的東西嗎?是的,因為資料庫的瓶頸是無法解決的,我們只能在Web伺服器和資料庫中間加個中間層來做緩沖。
可能大家會說了,切,這個我們早就知道了。那好,這里我要說的是它引發的兩點思考:
第一,有些語言已經有連接池技術的基礎上,那些程序員可以方便地使用連接池而構建大型應用。那麼如果他們認為 PHPer只會是用資料庫,那麼我們是不是可以說他們只會是用連接池呢?連接池和資料庫在這個概念上有何區別?
第二,當PHPer開始構建自己的緩存系統的時候,他是不是突破了PHPer只會是用資料庫的層次?因為他參與了數據邏輯的處理工作。那麼他還是草根嗎?
最後,懂得獨立思考的PHPer不是草根,什麼事情都丟給資料庫去做的才是。
D. php動態網頁 家鄉網站設計心得體會
人們在閱讀某種信息時,視覺總有一種自然的流動習慣,先看什麼,後看什麼,再看什麼。
在心理學的研究表明,一般的瀏覽習慣是從上到下、從左到右,在一個平面上,上松下穩而
壓抑。同樣,平面的左松右穩。所以平面的視覺影響力上方強於下方,左側強於右側。這樣
平面的上部和中上部被稱為
"
最佳視域
"
,也就是最優選的地方。在網頁設計中一些突出或推
薦的信息通常都放在這個位置。
當然這種視覺流程只是一種感覺並非一種固定的公式,
只要
符合人們的心理順序和邏輯順序,
就可以更為靈活地運用,
在網頁設計中,
靈活而合理地運
用直接影響到傳達信息的准確與有效性。
二、網站風格
/
創意
風格
(style)
是抽象的。是指站點的整體形象給瀏覽者的綜合感受。整體形象包括站點的版面
布局,色彩,字體,瀏覽方式等
…
。如:我們覺得迪斯尼是生動活潑的而
IBM
則是專業嚴
肅的。
每一個網站都會給人們留下的不同感受。
這里我們需要做到的是根據網站的定位做出
網站特有的風格。
除此我們還需要在風格同一上需要把握一下,
其實這個風格的統一和傳統
的印刷出版物沒什麼區別。你網頁上所有的圖像、文字,包括像背景顏色、區分線、字體、
標題、注腳什麼的,都要統一風格,貫穿全站。這樣子用戶看起來舒服、順暢,會對你的網
站留下一個
"
很專業
"
的印象。而企業網站設計師往往就缺乏這一點,沒有全局意思。
創意,所謂創意就是不拘一格
?
某些設計師在做創意的時候大費周章,做出來確實不可否認
很有創意、很別致,但往往對於行業網站的客戶為什麼不能接受呢
?
此時不要太責怪客戶的
不識貨,應該反思,
抓住客戶的需求。其實做行業網站不需要很多大的創意,也不要浪費過
多的時間去追求如何個性、
網站建設如何好看,
我們只需要一點小小的創意貫穿全站,
也許
會使網站更生動更具有吸引力、更有思想,比如中國現車交易網
(2005
年此站已經消失
)
就
是一個很好的案例,它把車的外形融入到網站中,使它脫穎而出。
三、網站配色
1.
用一種色彩。這里是指先選定一種色彩,然後調整透明度或者飽和度,
(
說得通俗些就是
將色彩變淡或則加深
)
,產生新的色彩,用於網頁。這樣的頁面看起來色彩統一,有層次感。
2.
用兩種色彩。先選定一種色彩,然後選擇它的對比色
(
在
Photoshop
里按
ctrl+shift+I)
再進
行微小的調整。整個頁面色彩豐富但不花稍。
3.
用一個色系。
簡單的說就是用一個感覺的色彩,
例如淡藍,
淡黃,
淡綠;
或者土黃,
土灰,
土藍。
也就是在同一色系裡面採用不同的顏色使網頁增加色彩,而又不花,
色調統一。
這種
配色方法在網站設計種最為常用。
4.
灰色在網頁設計中又稱為
"
萬能色
"
,其特點是可以和任何顏色搭配,在使用時把握量避免
網頁變灰。
在網頁配色中,盡量控制在三種色彩以內,以避免網頁花、亂、沒有主色的顯現。背景和前
文的對比盡量要大,
(
絕對不要用花紋繁復的圖案作背景
)
,以便突出主要文字內容。
四、
網站
LOGO Logo
顧名思義就是站點的標志圖案,
logo
最重要的就是用圖形化的方式傳
遞網站的定位和經營理念、同時便於人們識別。網站製作
logo
的設計過程中一般有以下三
種思路:
1.
直接以網站網址作為
logo
。
2.
根據網站提供的產品
/
服務特點展開
logo
設計。
3.
以傳遞網站運營商的經營理念為特色。
五、網頁框架與布局
網頁布局大致可分為
"
國
"
字型、
拐角型、
"T"
字型、
"L"
字型、
綜合框架型、
Flash
型、
變化型,
在這里就不做一一論述了。
其實在我們在做設計的時候並沒有過多的去考慮什麼形式,
比如
我們在一張紙看到一個圓形的東西,
很容易可以聯想到它像太陽,
而有些人則聯想到月亮等
等
…
這都是一種形式比喻,
最重要的是抓住客戶的需求,
把握網站的定位做處合理的框架布
E. 說說你的PHP培訓經歷 是否還真的有人堅持學習
從自己的一些切身經歷,開始說起吧。剛開始的PHP從業,大家都會從內容管理系統,企業網站開始,html靜態頁面,js特效,這些點讓人不會發現我對PHP的不精通。也許有很多的Java程序員不太能理解。甚至有人在懷疑,PHP是前端語言,不是服務端腳本語言。在一些二三線城市中,項目都比較小,而且都是希望獨立完成,沒什麼分工的,PHP程序現在也回顧下,也是說說自己的看法,希望可以幫助你。如何成為一個PHP開發者?
1、先了解一下PHP是什麼?PHP能做什麼?你為什麼選擇PHP?你想用PHP做什麼?先自己想清楚以後是不是想長期做這個。因為你要是不長期寫代碼,去練習,去解決問題,你是不可能有什麼成就的。這不是一個投機的事。投機也只會什麼沒學到,浪費時間。
2、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很復雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。
3、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。、
4、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。
5、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是干什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。
6、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。
7、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該准備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習。
8、可以去准備再招聘網站上看看大部分公司的就職需求,再准備下自己還不會的知識點就可以了。剛開始選擇小一點的公司,可能要求會的比較多,但一般都不需要你很精通,這段時間還是還是以虛心學習為主。小公司會讓你面更廣闊,大公司會讓你更專注,技術更拔尖。後面的各個人的高度就看自己的造化了。
以上不一定按你學習的進度順序,可以自己靈活調整,我只是把PHP整個學習的時間段分成幾個重要點,幾個常見的階段。可能帶有強烈的個人經歷,但也是一些意見和建議。希望給一些迷茫,還在努力的或者想放棄的一些幫助。總結些,合格的PHPer應該是會靜態網頁,PHP編程,熟悉資料庫的。
F. 怎樣學好PHP.一位PHP大師的學習感悟
(1)熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行製作完整的網頁,對元素屬性達到熟悉程度
(2)理解動態語言的概念,運做機制,熟悉PHP語法
(3)學習如何將PHP與HTML結合起來完成簡單動態頁面
(4)接觸MYSQL,開始設計資料庫程序
(5)不斷鞏固,摸透大部分PHP常用函數,並可理解OOP,MYSQL優化,以及模板 (6)完成一個功能齊全的動態站點
這套線路可能跟許多學習PHP的愛好者不謀而合,這也算是一個循序漸進的學習過程,不過新手不要看到上面的概括就以為學習蠻簡單的,任何東西其實都不簡單,即使是小吃部的燒餅也不是一下子就會做成的。 我先解釋一下我的學習思路。
首先,理解網站這一概念之後不難看出,任何網站都是由網頁組成的,也就是說想完成網站,必須先學會做網頁,因此必須要掌握了HTML,才能為今後製作網站打下基礎。
在學習HTML中我想邊學邊做是最有效的方式,當然這一方式對於學習PHP同樣是最有效的。
HTML中的任何元素都要親自實踐,只有明白了什麼元素會起到什麼效果之後,你才會記憶深刻,而一味的啃書,絕對是不行的。 掌握靜態網頁的製作技術是學習開發網站的先決條件。
我假設你目前已經可以完成一個靜態頁面了。那麼咱們就開始學習動態語言的概念吧,剛一接觸動態語言,可能很多人都會蒙了,怎麼這亂七八糟的東西,在網頁里顯示的時候卻是另外一碼事?其實這並不算亂七八糟,你寫的HTML代碼不也一樣是一堆堆的字元嗎?畢竟,代碼並不是作為直接輸出的,而是經過處理的,說白了,HTML是經過HTML解析器,而 PHP當然也就通過PHP解析器了,跟學習HTML一樣的道理,想讓任何的解析器完成操作,就必須使用它們專用的語法結構,所以PHP長相奇怪也就不足為奇了。
對於PHP的理解是新手最難邁過的一道門檻,不過你應該感到幸運的是PHP已經最大極限的為了新手而努力了,如果你學過其他的語言,也許會覺得PHP的確相當的簡單,即使你理解不了PHP,但是也必須先跟它混個臉熟。 搞清楚HTML和PHP的概念,那麼PHP和HTML混合編程應該不成問題,在這期間,你完全可以讓PHP給你算算一加一等於幾,然後在瀏覽器輸出,不要覺得幼稚,這的確是跟阿波羅登月一樣,你打的是一小段代碼,但是對於你的編程之路,可是邁出了一大步啊!興奮吧?但是不得不再給你潑點冷水,您還是菜鳥一個。
高興一段時間就必須繼續努力了,接下來就是學習資料庫了,MYSQL可算是PHP的黃金搭檔了,不過,雖然話是這么說,你也可能恨不得把MYSQL給生吞活剝了,因為這一行一列的東東簡直讓自己頭暈目眩。 頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。 在一番搏鬥之後,你終於理解了資料庫的概念,而且讓你興奮不已的是你終於可以通過PHP來連接資料庫了,這期間你是怎麼學會的,我們不去考證了,但是事實證明,你已經可以了。
學會了PHP和資料庫的你,無疑是左手拿著MOTOLOLA右手拿著NOKIA,要多瀟灑,有多瀟灑,哈哈,終於學會了,但是可能這個時候,又會有人不經意的拍拍肩膀對你說:哥們,別高興的太早,你還是菜鳥,離學會還差著一大截呢! 等到你發奮努力的學會了用PHP成功的插入,刪除,更新數據的時候,顯然,你已經距離成功指日可待了。 這個時候的你也許是這種狀態:
你會HTML嗎?會,我能編好幾個大表格排板的網頁啦!
你會PHP嗎?會,我會把一加一的運算寫在函數里,然後調用啦!
你會MYSQL嗎?會,我會把我的信息在資料庫里插入刪除啦
那,接下來你該怎麼做呢?我覺得,小試一下身手,大概是沒問題了,那麼交給你個任務,做個留言本吧,這和HELLO WORLD有一比啊!^_^,同是新手面臨的第一道關。
花了一段時間,你終於學會把表單的數據插入資料庫,然後顯示出來了,應該說一個程序的雛形已經誕生了。
但是,你可能瞅瞅東,看看西,人家這個編論壇,那個CMS,還有那啥CRM,我啥時候寫一個呢? 不要急,可以說你的馬步已經扎的差不多了,接下來就要開始練把勢的時候了,如果有條件的話,用筆或者列印一個簡易的PHP手冊在身上,時不時的摸出來看看,記得,去WC也不能放過(^2^)。
再有條件的話,買本書看看吧,《PHP+MYSQL WEB開發(第三版)》號稱聖經級,(也許是個不錯的選擇(聲明:作者沒給我啥好處費,我也不是書托,隔著大老遠,我連他老兄的面都沒見過的說-_-)
鞏固了自己的知識,熟悉了PHP和MYSQL開發的要領之後,再回頭看你寫的那個留言本,你也許會懷疑那真的是你寫的嗎?當然,如果屋裡還有鬼的話,也許是它寫的-_- 這個時候,你的留言本應該加入注冊以及分頁功能了,而如果你更強的話,UI(用戶界面)也可以加強,完成之後,感覺是不是特有成就感?不管怎麼樣,咱好歹是寫了一個動態網站程序了,放在自己的網站上耍耍吧,讓好朋友來看看,嘿,看咱寫的多棒,然後再在網上宣傳一下。
幾天之後你再打開留言本,哎?哇,一下彈出N多頁面!很明顯,你的留言本並沒有做好安全防範,被人用JS代碼小小的耍了一下,我很同情你這個時候的感受,但是沒有別的辦法了,繼續努力吧!
你發奮努力,熟悉了安全方面的問題,然後又設計了一些程序,感覺還不錯。
那麼接下來,這就算學會啦?NO,NO,NO,還早呢,你至盡還沒碰過OOP之類的吧?模板呢?
恩,學!加緊學呀學,學會了這些之後,你又學會了生成靜態網頁,現在你應該接觸一下XML了,恩,XML也了解了,那麼AJAX你也得接觸接觸吧?AJAX完了....然後... 總而言之,你絕對不會發現你全部都學會了,一些真正的強人總會搞出新玩意來丟給你,你不學就落後了,也印證了前人的經驗,果然是學無止境啊!
我想通過我的一番YY,你也應該大致熟悉了一些學習過程,也許我的過程和你的有些出路,但是不管怎麼樣是殊途同歸,我寫這么多,也只是給大家一個借鑒的機會,至於好與不好,默默不敢打包票^0^
看完之後你發現,羅嗦這么多,對我一點用處沒有啊,我知道該怎麼學,但是我想如何才能更快的學,一周速成,啊不,24小時速成那種,默默你有沒?
我.......我沒有,但是2分鍾之內把你扁進醫院里,我倒是有把握-_-
學東西,永遠不要妄想有速成這一說,告訴你了一個方式,但是缺少努力這一環節,那也是白搭。 但是有一點我可以給你保證的就是,你學會了PHP,那麼學其他的語言,肯定速成,反過來也一樣,如果你之前學過其他的語言,那麼學PHP肯定快。
不過語法好學,但是怎麼用語法來實現每個人都有每個人的方式,幾乎是各有千秋。然而借鑒別人成功的代碼,絕對是有益無害,因此,多看那些經過千錘百煉凝出來的經典代碼,是進階的最好方法。
講了這么多,無非是想說:學習PHP不僅要掌握方法,更多的是付出汗水,我不希望看到中途放棄的人,相信自己,相信自己的選擇,更要相信自己的能力,如果自己想放棄,暴力一點的話,就自己抽自己一個嘴巴,然後大吼:別人可以,我為什麼就不可以?(是不是有點閻羅教練的味道,默默的確是電影看多了,抽嘴巴是會痛的,各位其實明白這個道理了就行了)
另外要叮囑各位的是,抵禦誘惑,ASP/PHP/JSP/.NET的對比也許會讓你無所適從,你也許學了一半PHP,又開始打C#的主意,或者有人說JAVA很強,這個時候的你絕對不能動搖,哪怕你真想學,也得學會了PHP。然後再學,見異思遷是最不可取的,狗熊掰玉米就是這個道理,如果經常中途放棄,只能是一無所獲,還浪費了N多的時間和經歷,得不償失,最重要的是,你會被別人瞧不起,沒有人會喜歡和見異思遷的人交朋友,因為這種人太不安分,太不可靠,因此,你必須要強迫自己完成自己的目標,哪怕可能會很難受,也得堅持,毅力就是這么鍛煉出來的。
G. 大家對Php的感受與看法
PHP的優點:1. 跨平台,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,並且和很多免費的平台結合非常省錢,比如LAMP(Linux/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換PostgreSQL或者Oracle,支持N種資料庫。(N >= 10)2. 語法簡單,如果有學習C和Perl的很容易上手,並且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。3. 目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做資料庫抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來訪問資料庫。5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。6. PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。7. 有成熟的社區來支持PHP的開發,比如國內的CSDN,喜悅國際村等等。8. 目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。PHP的缺點:1. 代碼重用率有待提高,當然,這個跟面向對象有關系。其實PHP 5已經比較適意了。2. 不適合應用於大型電子商務站點。 3. 安裝復雜。 4.缺少正規的商業支持。