首頁>Club>
3
回覆列表
  • 1 # 科技book

    每個語言都有各自的特長。而php在web開發是很不錯的選擇。因為PHP的部署實在是太簡單了,java各種編譯,打包war,jar之類,搞半天,部署出來一個很簡單的網站,人家php上傳安裝包,一鍵配置,中型規模的網站就ok了。你說這麼簡單,多讓人恨。託管公司也很喜歡PHP,其中許多公司向其客戶提供了用於管理MySQL資料庫的PHPMyAdmin。

    PHP在1000萬臺物理計算機上驅動了大約20億個站點,將世界從PHP 5.0轉換為PHP 7每年將節省15B kW小時,並減少7.5B kg的二氧化碳排放。這表明PHP 7效率的提高對全球能源消耗產生了重大影響。

    總之,目前php是web開發的主力語言,雖然,現在流行的語言是python之類的人工智慧語言,但是,快速建站web後臺,php依然是目前最有快讀輕便優勢的。

    現在app打包,很多也只是在本地渲染前端,所以,web端只需要api介面,php對客戶端的弱勢,可以透過本地互動來彌補, web後端+本地客戶端互動。這樣的架構,php對中小企業來說,也是有快速簡單開發優勢的。

    最後,需要說明的是,對於開發者來說,不要糾結那門語言,每個語言都有各自的使用場景。能把事情做好,就是最好的。一般優秀的開發者總會掌握兩個以上開發語言,加油吧!學浪。

  • 2 # 精緻碼農

    還在埋頭寫 PHP 的人可能沒感覺,但跳出了PHP的人接觸了像C#這麼優美的語言後,就再也回不去了。會感嘆寫 PHP 的日子裡就是在浪費生命啊!

  • 3 # 東方新思維

    寫過C/C++,PHP、Java,對比一下,PHP確實是最容易上手的程式語言(注意:我沒有說最簡單),我從C++轉PHP,只花了2個小時熟悉一下語法,然後就開始寫程式碼了 。

    我理解主要原因如下:

    1)內建API很完備基本不要去找第三方庫,這對初學者來說,方便很多,效率高很多,畢竟找個第三方庫要熟悉、要研究,總歸不放心,語言直接就有了,很多人都是直接google一下API然後拿來就用,我開始也是這樣的。Java ?我們一個專案有100多個第三方包。。。。。 ,而且這100多個第三方包還是從幾百個包中挑出來的,可以腦補一下初學者自己去選第三方包!

    2)程式設計簡單初學者拿個php寫個面向過程的指令碼,只需要查查API就可以了,30分鐘搞定;能快速搞定一個事情,能讓人產生成就感,這個非常重要;至於面向物件麼,後面慢慢學也不遲呀。C++和Java的面向物件對於初學者來說簡直就是噩夢,物件都沒有你跟我談面向物件 ?如果用C或者C++寫面向過程呢? 嗯,除非你寫hello world,否則請先好好看看《UNIX環境高階程式設計》《Linux系統程式設計》。不懂作業系統,你就別想寫C和C++程式,到一邊寫hello world或者冒泡連結串列這類簡單和資料結構玩去吧 。

    3)併發和記憶體管理簡單(注:以下經驗來源於PHP 5.3,現在是不是這樣不清楚)併發:nginx + php-fpm,完美的解決了大部分的併發問題,程式設計師只要關注寫業務邏輯即可,PHP中要用執行緒或者程序,要麼是很特殊的情況,要麼是閒的蛋疼;Java 和 C++ ?寫併發寫的吐血,執行緒、鎖、可見性、非同步IO、Reactor模式......搞清楚這一堆你才能玩,一不小心出個問題都不知道怎麼查。記憶體管理:JVM的垃圾回收沒問題一切都好,有問題定位和調優就蛋疼了,平均一年有3 ~ 5次搞這個,24G記憶體怎麼dump?dump後怎麼從生產伺服器傳到開發伺服器?傳下來後用MAT開啟耗費3個小時怎麼辦?

    不要問我,我也不知道怎麼辦!

    C和C++ ?碰上記憶體問題你就死菜了:1年都定位不出來,然後只能另外寫個指令碼定時每月重啟,這樣的事情我不會告訴你是在哪家公司遇到的,因為我怕被打!而我們的PHP業務運行了3年,記憶體洩漏記憶體爆掉都發生過,很容易就定位出來了,但從來沒有說要調優。

    但寫好PHP並不容易,事實上用PHP把業務寫完很容易,但用PHP把業務寫好的話,需要非常紮實的基本功,要求寫程式碼的人邏輯非常嚴謹:

    1)變數名本來是report,結果寫成了reprot,執行OK,結果就是不對,面對一屏花花綠綠的程式碼,你要是能一眼看出那就是天才!

    2)==和===,不說了,新手100%必中,高手80%踩中!

    3)isset vs empty,和上一個類似你以為這幾個問題看起來都是小問題?圖樣圖森破,這些問題原理很簡單,但是導致的業務問題就千奇百怪了:有的使用者正確有的使用者不正確,有的使用者早上正確但下午不正確,有的使用者用Chrome正確但用Firefox就不正確!定位出來問題後,要麼你想打自己三個耳光,要麼你想打寫程式碼的三個耳光!所以我認為PHP是最快上手的語言,但PHP同時也是對嚴謹性要求很高的語言!當然,對初學者來說,PHP確實是世界上最好的語言 !

  • 4 # 昊識網路

    招人恨的原因是因為php簡單有效又抗造,入門快,開發除錯快——不用編譯,改完程式碼直接重新整理立竿見影,上線部署快——直接同步原始程式碼到生產伺服器即可,原生支援熱部署。執行速度確實比不上編譯型語言,但是在非cpu密集運算場景下這個問題基本可忽略不計。我覺得php就像ak47,足夠簡單、穩定,維護成本低,適合大規模使用。

  • 5 # 一隻野生程式汪

    我的理解主要有一下:

    一.原生的PHP程式碼巢狀在HTML程式碼上,這樣的寫法,邏輯和展示顯得非常的混亂,而且程式碼也很難維護。

    二.詬病 PHP 的人普遍對 PHP 沒有深入的實踐認知,對 PHP 的認識停留在上述的小白用法上。覺得 PHP 太簡單。

    三.PHP 中最著名的幾個開源軟體架構老舊,程式碼難看。如 WordPress、Discuz! 等,因為出現在 PHP 尚未面向物件階段,同時因為需要相容現存各種外掛,無法做較大的架構更新。給人的印象是用 PHP 只能寫出這樣混雜的程式碼,PHP 是解釋性語言,執行速度不如編譯型語言快速,效能上會被歧視

    既然如此,那麼PHP就真的一文不值了嗎?不是的,PHP也有很多優秀的框架比如Laravle,Yii,ThinkPHP等,PHP遭人詬病的原因 並不是語言本身的緣故,而是 從業人員高階程度的緣故。

    PHP也可以開發中大型專案:

    第一,也是最重要的,要用 composer 分成獨立的包,透過分割問題域,將每個領域的問題控制在一定範圍內。如最開始的截圖中展示,要將專案分成不同領域範圍,每個領域的程式碼分到獨立的包中,擁有一個獨立的名稱空間。比如,使用者相關的基礎功能,如使用者 model 和響應 migration、登入註冊等 action 等作為使用者相關基礎功能放到獨立包。使用者中心,包括使用者中心的 migration、model、api、網頁、css、js,放到獨立的包。文章編輯和展示功能放到獨立的包。包和包之間可以定義明確的依賴關係。分成獨立包後,專案變得再大,也不會成為一鍋粥,而是將各自的複雜性控制在了一定的範圍內,方便維護和團隊協作。其次,包要有明確的結構規定,形成團隊的一致理解,使得不同包的負責同學可以很容易地相互理解,必要時候可以相互增援。舉個實際的例子,以便於理解:composer.json,定義這個包本身依賴了哪些其它包。deployment 目錄,比如這個包依賴了哪些 PHP 擴充套件。有了這些定義,可以編寫指令碼一鍵生成 Dockerfile,生成需要的 Docker 映象,一鍵生成 systemd 服務。load.php 或類似指令碼,定義這個包應該如何載入、註冊和本包相關的必要的程式碼。比如註冊路由、事件、模組等。migration,用來說明如何建立這個包相關的資料庫表。Model 目錄定義資料庫表對應的模組Http 目錄,定義展示網頁相關的 ControllerApi 目錄,定義透過 api 訪問的 ControllerAdmin 目錄,定義管理介面View 目錄,定義和網頁展示相關的 View如果專案過大,一個專案包過多,也可以考慮採用微服務架構,進一步隔離複雜度。

    如我最開始所說,PHP 從有了名稱空間,到 composer 的流行,到 PHP 7,已經可以管理有序地開發中大型的專案了,我創業多年的專案 芝士圈留學 就是一個很好的例子。

    首先,絕大多數系統的效能瓶頸並不是在 app 的執行,而是資料庫等 IO 訪問。其次,如果資料庫可以承受,用十幾臺機器執行 PHP,就可以承載每秒 10k 的訪問量。而每秒 10k 訪問量,每天就有好幾十億訪問了,這個業務量也太讓人羨慕了。如果嫌 PHP 每次都要從頭載入、解釋、執行程式碼,可以遷移到 swoole 避免程式碼重複載入的時間浪費,可以非常可觀地提高執行效率。

    最後,想和各位 PHP 分享的是,PHP 社群,從核心團隊到開源社群,都是非常活躍的。因此我們看到最近幾年,PHP 在不斷快速的進化和改善中。

  • 6 # 此使用者今天愛吃肉

    不要侷限於某一種語言,都是工具而已,你要在意的是:當需要使用的時候,如果最快的能把這門語言用起來。

    語言只是表象,背後的計算機技術還是共通的。

    不要拘泥於表象

  • 7 # 企蝶

    C#就是個笑話,也就微軟的水軍在喊喊...php一路走來都是開源.C#快走到絕路了再開源有啥意義?等使用者量上去還不是開始拿起鐮刀收割了??看一門語言還有一個最重要的得屌絲得天下..背後發起者是處於什麼利益角度考慮..為什麼c++能經久不衰?跟php一樣始終保持初心,開源改變世界..再提一壺java真的可惜了被甲骨文收購..

  • 中秋節和大豐收的關聯?
  • 快年底了,想換手機,oppo、華為、小米那個更好?