新手學習php到可以工作,哪些技術是必備的?
看某智培訓機構的基礎班視頻,粗略學會了html,CSS,js,php,MySQL的一些使用,打算再花四個月自學他們的就業班,然後開始找一份實習。請問要找工作的話,哪些技術是必備的,他們的就業班視頻的技術有必要全部學習嗎?
Linux mysql apache nginx php html css javascript 最基礎的這幾個必須會的
新手php到工作,這個就是從入門到精通的過程,簡單的說就是從html到一些大的框架的學習過程,詳細的可以分為初級、中級、高級的過程。
初級階段HTML5 CSS3 PHP基礎 php基礎應用 php基礎項目
中級階段
面向對象基礎 面向對象基礎 PHP常用設計模式 composer自己搭建框架 H5和前端基礎課 ThinkPHP框架或Laravel框架(二選一) 高級課項目開發 微信公眾號開發
高級階段
Linux基礎 特級
PHP全套視頻教程:https://pan.baidu.com/s/1kUO4JYn
PHP-新課程大綱- :https://pan.baidu.com/s/1cgxWDK
PHP-WEB前端頁面製作快速入門-:https://pan.baidu.com/s/1mhIxfZy
PHP-PHP高級課程-高級語法- https://pan.baidu.com/s/1bplL69p
PHP-PHP高級課程-高級實戰- https://pan.baidu.com/s/1eSAced0
PHP-PHP高級課程-JS實戰https://pan.baidu.com/s/1geX0tZ
我是開發PHP的,先來說說我日常開發中經常遇到的幾類程序員。
- 做JAVA開發的,他們大多是後台邏輯能力很強,會很多東西,但是前端東西基本上很少有人熟悉,尤其是css和js部分,有人居然完全不會,但是JAVA開發還是妥妥的。
- 做前端開發的,前端功底基本上都很不錯,能根據設計圖完美的使用代碼實現出來,能搞出來很多讓你眼花繚亂的特效。但是後端動態語言基本上一點兒也不會。
- 資料庫運維的,他們懂各種各樣的環境的搭配。PHP的,JAVA的。各種各樣的伺服器監測,但是他們好羨慕會開發的人,可以有模有樣的搞出一個完整的網站。
- 做PHP開發的,他們懂PHP,但是那並沒什麼卵用,因為離開資料庫,PHP就是等於一門沒用的語言。所以還需要會資料庫一般是Mysql,會了資料庫可以提取數據到前台。但是一般PHP適合寫面向用戶端的程序,所以吐一堆亂七八糟的數據到前台沒啥大用,必須會HTML給他們組織起來。用戶都是視覺動物,丑了這個網站哪裡能行,老闆也不會放過你,所以還需要會CSS,然後還要Javascript搞點兒特效出來。這些都搞完了,你還要會點兒伺服器,你得把這個程序跑起來,讓用戶看到才行,所以你還得會伺服器。
現在網頁開發常用的一般是PHP還有Java,PHP比Java好的方面就是PHP開源軟體很多很多,真的多的數不過來,這點比Java是優點。所以PHP開發可以簡單可以複雜。
正常PHP開發一般分為2種,使用現有的框架開發和使用現有的系統改造。使用框架開發,就是在毛坯房上面做裝潢。使用系統改造就是在已經裝潢好的房子裡面精裝修一下。想要快速,當然是選用開源的CMS系統改改,大部分功能都寫好了,只要會點兒前端就可以搞得棒棒噠。
國內常見的開源PHP系統有帝國CMS,PHPCMS,織夢CMS。博客方面比如wordpress,全世界人民都在用,還有z-blog等等。當然,學習這些開源系統也是需要時間。所以你還可以使用框架作為基礎開發,當然需要點兒基本功才行,國內最多使用的應該是ThinkPHP,招聘單位使用最多,然後比如Codeigniter或者YII都是比較常用的。其中ThinkPHP和Codeigniter都是比較適合初學者。
還有Mysql,這個在學習PHP時候就一定會使用的技術,所以必須知道一些基本的語法,比如增刪改查,其他的比如創建表,創建庫什麼的,讓PHPmyadmin去幫你實現吧,公司裡面不會要求你一定使用代碼創建。
到這一步為止,趕緊去找工作去吧。來個6000左右的工作,二線城市來說是妥妥的。關於什麼前端的知識不會的,到公司多抱抱前端妹紙的大腿就好了,會與不會多找前端妹紙聊聊,讓她幫你解決解決。
好了,下面是進階。PHP是後台語言,為了成為全棧工程師,你必須去了解了解前端的知識,比如基本的HTML+CSS布局,還有最近比較流行的H5開發。手機端網頁版本開發還需要了解點兒響應式開發基礎,這一塊如果不想深入的搗鼓也可以使用前端框架來加速開發,界面丑點兒,但是效果不賴。比如Bootstrap,全世界也在用。比如國產的amaze(妹紙UI)都是很不錯的框架,開發前端響應式也是杠杠的。
繼續進階,如果你這些統統做好了,本地開發都運行的飛起來了。好了下面需要將項目放到伺服器上面了,所以你還需要了解一下伺服器的知識,PHP語言一般在linux系統上運行,比如很好用的centos或者ubuntu,簡單的去學一學常用的指令,然後加上百度,基本上花個幾天時間也是能搗鼓出來一台web伺服器的。你聽過lamp么,那是Linux+Apache+mysql+PHP,這個被稱為黃金組合,去搞懂這裡面的每一個東西,基本上就是很不錯的程序員啦。
基本上到這一步為止,你已經可以完美的將整個項目弄上線了,然後繼續想學習的話就需要去了解一些介面啊,第三方組件啊。學習學習什麼微信支付,支付寶支付介面,微博開放平台,QQ登錄等等知識。
再後面你會自然而然的去注意一些web安全以及優化等等方面工作,比如資料庫優化啊,sql注入問題啊,還有緩存啊,什麼高迸發等等的問題。然後還能扯到硬體方面。
後面的我也不講了,因為到這個層次你已經知道你該去了解什麼啦。工資么,早就過萬了,具體幾萬,還要看你面試時候口才以及包裝嘍~工作的話可以嘗試做一兩個作品,比如博客、cms(基於框架開發),實現基本功能,然後完善下。這樣底氣很輕鬆很多。四個月時間有點久,如果真心喜歡程序開發,快速學習能力還是蠻重要的,包括以後GET新技能。(14年畢業後6月-9月兩個多月時間,在職利用業餘時間看了差不多50個視頻左右,機械專業,不過有兩年CSS、HTML經驗)
PHP自學入職必備技能請參照:
1.硬著頭皮啃視頻(沒必要全部過),做大量重複練習,以快速熟悉語言習慣。2.基本前端技能(jQuery、CSS、HTML各花一周時間即可,可以直接過w3school),見過好多PHPer前端技能簡直弱爆。3.框架(ThinkPHP),明白MVC即可,可以看視頻,這樣速度極快。
4.MySQL,了解存儲引擎區別,會用phpmyadmin建資料庫。5.過Linux(推薦Ubuntu,沒必要編譯安裝,apt-get即可),學習可以用win集成壞境,工作遇到虛擬機或者純Linux就瞎了。6.過代碼管理工具(Git),如果用github做實驗,請及時刪除測試庫。進階請參考技能樹(沒找到)
恭喜你,可以投簡歷了,而且入職後保持謙虛好學的態度,基本不會被同事嫌棄。接下來一年過一遍各項技能手冊,再積累足夠項目經驗,可以暴擊好多人了,當然已經累成狗。。。一入程序深似海,且碼且珍惜。網站開發屬於web領域,現在很多是PHP的方式開發領域。其內容很廣泛。對於新手來說,按什麼順序來學,才更容易入門呢?
首先來看PHP整個體系的內容劃分,然後根據這些總結一下學習順序和路線。
從橫向上來看,當用瀏覽器打開某個php頁面的時候就牽涉到了如下東西:
前端就有html,css,js。在js基礎上封裝出了jquery庫。在js和jquery庫上又封裝出了新的插件,如:bootstrap,amaze,layer,富文本編輯器等。然後就到了PHP部分,在這裡需要存儲動態數據,必然要資料庫了。資料庫又牽扯出關係型資料庫,如:mssql,mysql,sqlite,db2等等和非關係型資料庫,如:Redis,MongDB,圖資料庫等。一個web系統是需要伺服器支撐的,通常都會選擇linux伺服器。
從縱向上來看,單就PHP方向就有php的各種基礎,如:變數的定義,函數的使用,函數庫。類的抽象、封裝、繼承、多態、介面。再往下走就有編程模式,如:MVC,工廠模式。從安全性還牽扯出單入口。前後端分離的模板解析引擎,如:Smarty,以及其他框架和系統各自的模板解析引擎。
從綜合上來看:
1:功能上來分,有登錄模塊,註冊模塊,後台模塊,文章模塊,商品模塊,備份還原模塊,安裝模塊,無限極分類模塊等。
2:從應用上來看,有各種第三方介面,如:QQ登錄介面,支付介面,手機簡訊介面,身份證驗證介面等等。
3:從實際開發項目上來看,PHP又衍生出很多的框架,如:Laravel,TP,YII,CI,以及開源系統,如:PHPCMS,Discuz,Ecshop。到你開發項目的時候,自然就會有很多種選擇了。如直接原生態採用面向過程的方式開發,如基於某個框架開發,如用開源系統開發。比如要做個論壇,很多人選擇的是Discuz開發,但是使用了幾個月,發現要開發一個新的功能模塊(Discuz裡面沒有的)就要面對298張數據表,頭開始大了。
4:從項目優化上來看有:負載均衡、集群、大數據處理。
那麼,面對這麼多的內容,到底怎麼學才好呢?學習順序應該怎樣才更好?
我根據經驗總結一下這樣的學習順序:
1:首先是前端;
雖然你是做PHP的,但是前端必須會。學前端方向的則更要精通了。總之前端跑不掉。前端的學習順序這樣:先html,css。不要很深入,如:h5,css3可以暫時放一下。然後進入js入門。接著jquery。然後html,css,js,jquery都會了之後再弄一些前端框架,如:bootstrap,amaze。最後是h5,css3。
2:前端和後端是一起學的,到了php這邊。要從基礎學起,然後是它涉及的編程思想。然後是資料庫,資料庫一開始不要學難的內容,如SQL優化,索引優化,主從複製這些。會基本的增刪改查就行。
此時,前後端一起來做個小項目(基於資料庫的對某個實體如書籍的增刪改查的小功能模塊),很多時候一個項目看似很複雜,其實數據表沒多少張,很多是在PHP程序這邊。當然數據表很多的那種,項目也不會簡單起來;
3:開發了一個小系統之後,就可以學框架,然後學著用框架來繼續改進這個小項目。
4:學開源系統,用開源系統來改進這個系統。
到這裡你就知道項目開發的選擇方案了,此時你已經把項目開發方案決策的內容學會了。用你認為最佳的方案來開發一個具有實際意義的項目並運營起來,並試著推廣,來你系統中註冊的會員會給你提各種需求。你自然會發現你還需要學的那些東西是什麼了,如:註冊功能,如登錄功能,如QQ登錄等,如:支付寶支付、微信支付等。如:更好的備份還原功能,方便的安裝功能。當你的項目運營的不錯了,會員自然越來越多,各種數據也會增多,你的項目會越來越慢,此時你再來關注資料庫的優化,以及負載均衡,大數據這些。
用實際項目的需求和會員的各種需求去刺激你學還沒學的東西,這裡就會感覺到越來越有的放矢了。
所以,一個新手千萬不要一來就用開源系統去開發項目,雖然開發出來了,但是後遺症在後面,而且很大很多。還是要從基礎做起,並按一定的學習順序去學習,否則效率很低下,經常感覺學了很久,看似什麼都接觸了,但是一到開發項目的時候就是一頭霧水、無從下手。丟了的東西遲早是要補回來的。錯誤的學習順序會讓你事倍功半。甚至會讓你打道回府......
不需要必備什麼技能,現在的培訓機構都是零基礎培訓的,只要好好聽老師的課程,是沒有什麼問題的,當然了,前提是你要找一家合適的培訓機構,要是遇到垃圾的機構和老師,那就是浪費金錢和時間。反正我是不建議去達內,血的教訓。
這個目前我也正在學習,入門的話用慕課網上的php工程師就能有很好的入門了,把視頻上的反覆實現一下,同時還要學習一下linux和前端。資料庫方面,當然先學習一下mysql,有關mysql也有很多專題,可以一一看一下,網上招聘的時候,還要求了解一下nosql,所以你redis,mongdb也需要會,看了一下,慕課網也羅列出來了,最起碼能夠讓你入個門,然後便是memache這東西;這些都弄的差不多了,開始考慮上線自己的博客系統了,建立自己的網站了,然後開始網站的一系列裝修,還有很多視頻上說的實現電商網站了,這些你都可以折騰。不過先不要考慮這麼久遠,先刷視頻吧,我就刷了差不多兩個月了,在工作之餘進行的學習,打算先把視頻的東西實現了,再考慮其它
想了解一PHP開發工程師需要掌握的東西,快速了解全貌,推薦看一下這個網站 PHP 之道 PHP之道
前面說得不錯,但還有很多知識點沒有提及到:資料庫主從,讀寫分離,緩存,負載均衡,設計模式,正則表達式,git版本控制,單元測試。。。。。等等。
用thinkphp 能獨立搞個blog 就可以找一個 5K+的工作。(北京)
PHP基本語法,mysql資料庫、web前端都得有一定的了解。
培訓機構的代碼,你寫了幾年後再回來看看,嚴肅點說,它只是帶你了解了解,代碼的質量還是夠嗆的
框架是必備的,多學學主流框架吧
看你找的什麼公司,外包的話,那就是更種套模板,關鍵你得知道二次開發和一些框架,要是進入有項目的。我覺得框架,很少是原生的代碼
還有jquery 和 常用的框架,熟悉一些開元產品。linux的常用命令。儘快適應新的工作
推薦閱讀:
※當面試官問「談談對MVC的理解」「MVC的架構」「XXX層的實現原理」時,面試官究竟是想聽到什麼答案?
※為什麼很少有人在 PHP 項目中使用 namespace ?
※php如何 使用多線程?
※用php怎麼做以下這種需求?
※如何處理iOS開發中 APP端資料庫和網站資料庫選擇和同步問題?