⑴ 為什麼說php是首選的Web開發語言
作者:2gua
鏈接:https://zhuanlan.hu.com/p/19904737
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
1. PHP是為Web而生的,天然與HTML、JavaScript有親近感,也就是原生味兒十足。即使是PHP與HTML代碼混雜,從某種角度而言,也能幫助初學者直觀地了解Web技術機理,壞事有時候也是好事。另一方面,開源PHP的C風格、Unix/linux范兒讓其在Apache、Nginx等Web應用伺服器上表現優異。總之,PHP與Web是渾然天成的結合方式。
2. 要掌握PHP,我建議從備受詬病的「代碼凌亂」編程風格 -- 或許是從PHP與HTML混合編程開始,待直觀了解Web開發技術之後,再考慮代碼組織和結構的重構,這樣有助於自己以更加原生的方式掌握Web的秘密。那麼,什麼是更加原生的方式呢?隨手舉個例子:典型的404狀態碼。
用PHP的實現(404.php、404.html):
<?php
header("HTTP/1.1 404 Not Found");
include("404.html");
exit;
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
</head>
<body>
<p>404頁面。</p>
</body>
</html>
再看看如http://ASP.NET MVC中的實現:
public ActionResult Details(int id)
{
return HttpNotFound();
}
雖然封裝得很好,但是,跟PHP方式比較就知道,http://ASP.NET MVC中的實現確實比較抽象不夠直觀,而且是在控制器里直接定義和跳轉的。在PHP中,顯而易見,一下就明白了代碼中header的含義:HTTP-Version、Status-Code、Reason-Phrase。
順帶說說Rails中的處理方式,抽象程度也很高:
render :template => '......', :status => 404
3. 與PHP類似的還有JSP,但JSP往往需要與JEE其他技術模塊相配合使用,體系足夠龐大,需要有長期准備。其他如http://ASP.NET MVC、Rails等框架的抽象度較高,也不建議作為首選。
4. 不得不提Node.js,Node.js是目前很火的技術,號稱「全棧」的希望所在,常拿來跟PHP爭論比較:什麼並發、線程、進程等等。在這里無意評論孰優孰劣,但至少PHP可以讓你多掌握一門技術,而不止是JavaScript。此外,PHP的大型業務的成熟應用案例可是比比皆是吖。
5. 那麼,是不是該一直堅持指哪打哪的「代碼凌亂」方式呢?當然不應該。PHP提供的OOP特性足夠強大,在技能與理解程度達到一定高度時,完全可以以OOP的方式來組織代碼。在PHP領域,各種框架非常多,比如Laravel、CI、FuelPHP、Yii、Symfony、Zend Framework等等,屆時隨便選一個都可以進行規范化開發。「代碼凌亂」關鍵不在於工具本身,而在於人自己!要知道用Java也能寫出爛代碼。
6. PHP的資料非常豐富。
7. 最後,有一個稍稍題外話的看法,早前我還覺得在RESTful方式不斷普及下,由於RESTful Web Services使用標準的 HTTP 方法(GET/PUT/POST/DELETE)來抽象Web服務能力,服務端的重點將移至MC,而服務端視圖模版的應用會減少,客戶端的支撐需求會越來越多。比如各種前端庫、框架將得到快速推進,越來越多的需求處理會前置到前端來處理。但現在我感覺這種狀態考慮得太過理想了,就像數據頻繁大量更迭及處理的場景,更適合服務端(如模版引擎)完成;再具體地,又如大數據量的分頁,如果都在瀏覽器中實現,性能就一定會有很大問題。此外,頻繁Ajax調用、客戶端緩存機制的缺失,也將引起種種問題,再進一步來看,單頁面應用(SPA)也就並非適合每一個業務場景,服務端視圖模版還是有比較多的適用領域的。
⑵ php都是學什麼內容啊想學php有必要報php培訓班嗎
首先,必須會一部分前端
需要了解的知識包括HTML、CSS、JavaScript,不需要深入地學習,有個概念性的理解即可。至於可以推薦的書籍還真沒有沒有,因為這一部分主要是練習,熟能生巧。如果是沒有任何基礎的,需要帶領入門的話,可以去視頻網站搜索相關課程視頻,網上很多。
其次,關於知識學習有三個階段
1. PHP入門段
可以在網上找到各類PHP熱門視頻,基本上這些視頻裡面都會講到如何使用編輯,配置環境等一系列基礎教程。能擼出一個個人站點/ 企業小站 就可以進入下一步了這樣可以先對編程有一個初步的認識,如果沒有任何電腦基礎不推薦直接看書。
2. 進步段
這時候需要PHP手冊了,了解常用函數。學習MySQL( 資料庫 ),了解PHP各大框架 --thinkPHP,Yii,Laravel等, 然後選一款框架嘗試搭建一blog,實現常規登錄、注冊、文章發布和修改。
3. 提高段
這一階段的知識點主要包括:了解Linux ,在Linux下搭建 PHP環境(這時候要脫離 xamp,wamp等之流了);知道&&使用版本控制:git svn;
詳細的了解之後需要的就是不斷地去補充這些自己不懂的東西,多學,多問,多練,如果喜歡編程,想成為一名PHP程序員,想看PHP視頻教程的話推薦扣丁學堂的,最重要的就是盡快入手,不要拖。
⑶ web前端和php哪個好
看自己喜歡,看你是喜歡展現層還是業務邏輯層。前端偏交互設計、UI展現,當然 Node.js也可以用於後端交互,PHP主要是後端程序語言,主要負責數據業務邏輯處理,主要跟資料庫打交道比較多。
如果比較喜歡設計,交互和各種體驗效果的可以考慮前端,如果喜歡演算法、數據處理、業務分析的可以選擇php。不過現在前端對業務數據的處理也很有要求。
從工作角度來說,最近這幾年伴隨著交互體驗的升級,前端也相當吃香,不過這兩種只是工具,要有發展,肯定是要花很多精力去學習更多的知識。
作者:麥哲樂
鏈接:https://www.hu.com/question/30916933/answer/49949745
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
⑷ php掌握什麼 知乎
PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。
1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很復雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。
2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。
3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。
4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是干什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。
5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。
6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該准備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習。
⑸ 學習PHP具體分為哪些課程
1.有語言基礎的,直接裝個wamp/lamp進行書本代碼,復制學習。
2.沒基礎的,最好學習一些入門編程語言,例如c。
3.自認為學習能力強的,看第一條。
⑹ PHP語言的有哪些優勢和特點
優勢和特點:
1、執行速度快:PHP是一種強大的CGI腳本語言,語法混合了C、Java、Perl和PHP式的新語法,執行網頁比CGI、Perl和ASP更快,這是它的第一個突出的特點。
2、具有很好的開放性和可擴展性:PHP屬於自由軟體,其源代碼完全公開,任何程序員為PHP擴展附加功能非常容易。
3、資料庫支持:PHP支持多種主流與非主流的資料庫,如:、Adabas D、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、MySQL、Microsoft SQL Server、Solid、Sybase、ODBC、oracle、oracle 8、PostgreSQL等。其中,PHP與MySQL是現在絕佳的組合,它們的組合可以跨平台運行。
4、面向對象編程:PHP提供了類和對象。為了實現面向對象編程,PHP4及更高版本提供了新的功能和特性,包括對象重載、引用技術等。
5、版本更新速度快:與數年才更新一次的ASP相比,PHP的更新速度就要快得多,因為PHP每幾周就更新一次。
6、具有豐富的功能:從對象式的設計、結構化的特性、資料庫的處理、網路介面應用、安全編碼機制等,PHP幾乎涵蓋了所有網站的一切功能。
7、可伸縮性:傳統上網頁的交互作用是通過CGI來實現的。CGI程序的伸縮性不很理想,因為它為每一個正在運行的CGI程序開一個獨立進程。
8、功能全面:php包括圖形處理、編碼與解碼、壓縮文件處理、xml解析、支持http的身份認證、cookie、 pop3 、snmp等。
(6)php能做什麼知乎擴展閱讀:
PHP的發展現狀:
PHP技術核心和相關的人才需求,正符合互聯網的發展趨勢。網站開發、API介面開發,伺服器端開發,移動端後台開發,內部OA系統開發,游戲開發等均用到PHP語言。
在IT行業和互聯網的飛速發展的時代,企業對PHP開發人員的需求也大幅增加,目前在國內專業的互聯網招聘網站,好多知名公司發布招聘PHP崗位,其中包括網易、京東、聯想、阿里巴巴、滴滴打車、美團、大眾點評、易到用車、網路、新浪、搜狐、奇虎、騰訊等。
⑺ php模擬登陸知乎
想要爬取知乎,首先要解決的就是登錄問題,知乎登錄還是比較簡單的,這里有一個示例:
https://demo.zjmainstay.cn/php/curl/hulogin.php
而爬取,不過是對登錄成功之後的得到的cookie進行再次利用,使用
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
即可。
上面示例最後一步獲取登錄成功後的首頁就做了示範。
至於爬取過程對鏈接(文章鏈接、專欄鏈接等)的解析,需要針對來處理了。
解析可以用phpQuery,也可以用正則。
你可以參考我這個全站爬取程序:
https://github.com/Zjmainstay/CurlMulti/blob/webClone/demo/custom/webClone.php
更多關於PHPcURL的內容,請參考《PHPcURL實現模擬登錄與採集使用方法詳解》
http://www.zjmainstay.cn/php-curl
更深入討論可以通過我的博客找我。