<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          現(xiàn)在的 PHP 沒(méi)你想的那么差

          共 1756字,需瀏覽 4分鐘

           ·

          2023-06-20 12:07

          PHP 現(xiàn)在名聲很糟糕,但 PHP 并不像許多人所說(shuō)的那么糟糕。


          它是不是鼓勵(lì)糟糕的實(shí)踐?

          不再是了。過(guò)去,許多開(kāi)發(fā)者被書(shū)本教授非常糟糕的實(shí)踐,因此 PHP 代碼的質(zhì)量非常差。PHP 曾經(jīng)還允許你做一些非常奇怪的事情,使得它非常容易構(gòu)建,但維護(hù)起來(lái)卻是一場(chǎng)噩夢(mèng)。

          這些不再是常見(jiàn)的問(wèn)題。隨著高質(zhì)量學(xué)習(xí)材料的引入,這些材料易學(xué)且易獲取,一名新的開(kāi)發(fā)人員可以以正確的方式學(xué)習(xí) PHP。這樣就可以避免初級(jí)開(kāi)發(fā)者因?yàn)椴恢罉?gòu)建事物的正確方法而編寫(xiě)一些維護(hù)起來(lái)非常痛苦的代碼。

          隨著框架的引入,導(dǎo)致許多糟糕體驗(yàn)的大部分通用代碼現(xiàn)在都自動(dòng)完成了;因此,開(kāi)發(fā)人員只需使用框架,框架就可以正確地對(duì)其進(jìn)行編碼。來(lái)源公眾號(hào):碼農(nóng)編程進(jìn)階筆記

          而且,這些年來(lái),一些糟糕的實(shí)踐是由缺失的特性造成的,導(dǎo)致了一些本不應(yīng)該被允許的事情被允許?,F(xiàn)在大多數(shù)情況下,甚至不可能實(shí)現(xiàn)以前編寫(xiě)的一些東西來(lái)導(dǎo)致這種聲譽(yù)。


          它的安全性是不是很差?

          過(guò)去,PHP 應(yīng)用程序的安全性通常很差,因?yàn)檎Z(yǔ)言允許這樣做。這些東西不再被使用,因?yàn)?PHP 應(yīng)用程序的開(kāi)發(fā)現(xiàn)在已經(jīng)完全不同。

          通過(guò)使用自動(dòng)加載程序來(lái)包含文件而不是動(dòng)態(tài)包含文件,已經(jīng)移除了遠(yuǎn)程和本地文件包含(其中 PHP 從其它地址而不是最初打算的地址讀取文件)。

          通過(guò)廣泛使用模板系統(tǒng)(可以自動(dòng)處理顯示動(dòng)態(tài)內(nèi)容的轉(zhuǎn)義和安全問(wèn)題),已經(jīng)避免了由于直接在 PHP 中直接使用 HTML 所導(dǎo)致的跨站腳本攻擊(其中一個(gè)用戶將 JavaScript 腳本添加到要顯示給另一個(gè)用戶的地方)。

          通過(guò)在 SQL 中使用 prepared 語(yǔ)句,避免了 SQL 注入攻擊(這是由于需要構(gòu)建 SQL 查詢并將查詢和數(shù)據(jù)一起發(fā)送導(dǎo)致的,其中用戶可以向查詢中增加額外的 SQL 命令)。另外,ORM 的使用也很普遍,它確保用戶數(shù)據(jù)和查詢是分開(kāi)發(fā)送的,而 SQL 不能將其視為單獨(dú)的命令。

          通過(guò)廣泛使用且采用 nonce 系統(tǒng)的 form 庫(kù),避免了跨站請(qǐng)求偽造(其中,用戶能夠被誘騙在你的站點(diǎn)上執(zhí)行某些操作)。


          它是不是真的很慢?

          這取決于你把它與什么比較。如果你把 PHP 與 Java、C 或者 Go 比較,那么它是比較慢。但是如果你把 PHP 與 Python、Ruby 等等比較,那么它并不慢。在同類(lèi)型的語(yǔ)言中,PHP 是最快的之一,并且不斷在提高性能。

          大多數(shù)情況下,你的應(yīng)用程序慢是因?yàn)榉?wù)器過(guò)載或者數(shù)據(jù)庫(kù)查詢慢。這些問(wèn)題在任何語(yǔ)言中都會(huì)存在。


          它的伸縮性是不是真的很差?

          實(shí)際上,任何語(yǔ)言都可以伸縮。編譯型語(yǔ)言(例如 Go、C 或 Rust)比腳本型語(yǔ)言(例如 PHP)的擴(kuò)展成本更低。然而,它們并不是為了同樣的任務(wù)而設(shè)計(jì)的。事實(shí)上,它們都是一樣的;這簡(jiǎn)單地歸結(jié)于你使用的服務(wù)器數(shù)量。如果你使用足夠多的服務(wù)器,你可以擴(kuò)展任何應(yīng)用程序。PHP 比其它腳本型語(yǔ)言的擴(kuò)展成本更低,因?yàn)樗枰俚馁Y源來(lái)開(kāi)始運(yùn)行,并且可以在具有更多 CPU 的較小內(nèi)存的服務(wù)器上運(yùn)行。來(lái)源公眾號(hào):碼農(nóng)編程進(jìn)階筆記

          另外,對(duì)于伸縮性,重要的是數(shù)據(jù)庫(kù)。如果你能夠擴(kuò)展你的數(shù)據(jù)庫(kù),你就可以擴(kuò)展你的應(yīng)用程序。數(shù)據(jù)庫(kù)比應(yīng)用服務(wù)器更難擴(kuò)展。增加另一個(gè)讀取數(shù)據(jù)庫(kù)的客戶端很容易;但是,讓數(shù)據(jù)庫(kù)快速運(yùn)行要難得多。


          我應(yīng)該一直使用它嗎?

          不。每種編程語(yǔ)言都有其擅長(zhǎng)的領(lǐng)域。PHP 非常適合 Web 應(yīng)用程序。你應(yīng)該用它來(lái)構(gòu)建網(wǎng)站和 API。

          如果你正在構(gòu)建一個(gè)系統(tǒng)應(yīng)用程序,其中每毫秒都很重要,使用 Rust 或者 C。

          如果你正在構(gòu)建一個(gè)人工智能應(yīng)用程序,Python 是一個(gè)好選項(xiàng)。

          如果你正在構(gòu)建一個(gè) SaaS 應(yīng)用程序,PHP 是一個(gè)好選項(xiàng)。

          如果你正在構(gòu)建一個(gè)安卓應(yīng)用程序,Kotlin 是一個(gè)好選項(xiàng)。

          如果你正在構(gòu)建一個(gè)運(yùn)行在多個(gè)平臺(tái)上的應(yīng)用程序,Java 是一個(gè)好選項(xiàng)。、

          PHP 還有未來(lái)么,還是 28 歲就“壽終正寢”了?

          2023年P(guān)HP/Go面試題集總結(jié)【建議收藏】


          結(jié)? 論

          很多關(guān)于 PHP 的說(shuō)法都已經(jīng)過(guò)時(shí) 10 年了。在我們看來(lái),如果有人給你關(guān)于某個(gè)技術(shù)主題的過(guò)期 10 年的信息,那么這個(gè)人可能不是你想要信任的技術(shù)專家。作為多年 PHP 的開(kāi)發(fā)者,在使用了 Go 語(yǔ)言之后......

          PHP 是創(chuàng)建 Web 應(yīng)用程序的一門(mén)好編程語(yǔ)言,我們認(rèn)為它是 Web 應(yīng)用程序開(kāi)發(fā)的最佳語(yǔ)言。

          瀏覽 72
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人午夜精品视频在线观看 | 一级黄色电影在线观看 | 91av成人亚洲 | 亚洲国产精品久久久久久久 | 波多野42部无码喷潮更新时间 |