站長資訊網
        最全最豐富的資訊網站

        我們還會繼續使用PHP的原因

        我們還會繼續使用PHP的原因

        相關學習推薦:php圖文教程

        我們來開門見山地說。 PHP 是一門奇葩的語言。它既不快,語法又不漂亮。還沒有遵守良好的軟件開發實踐。 但我還是使用它開發了很多軟件。 那么問題就很明顯了 為什么今天還在使用 PHP ?

        除了個人理想主義的偏好以外,還有很多理由。這才是我們要討論的范圍。為什么選 PHP 作為我的 Web 開發語言?

        PHP 是什么?

        「PHP 代表什么意思?」 或者這么問,「PHP 是什么?」 PHP 是一門編寫 web 頁面的語言,底層使用 C 語言實現,使用 HTML 的標簽語法包裹代碼。PHP 通常跑在服務端,與 web 服務器配合工作,負責把 HTML 加工完返回給訪問者。

        PHP 最初的意思是 「 Personal Home Page 」。因為這完全限制了使用該語言進行一般使用的意義和可取性,所以該語言現在代表「 PHP:Hypertext Preprocessor」。這種寫法被稱為遞歸縮寫(一種全稱中引用自己的縮寫)。 極客們都喜歡用這種名字。

        PHP 能做什么?

        PHP 能用來做什么?通常來說 PHP 能做任何你想在 web 服務器上實現的東西。 比如說做一個博客。實現一個 SAAS 應用也完全不在話下。寫一個臨時處理數據的腳本也是得心應手。又或者寫了一個復雜的腳本,某一天突然變成了一門成功的軟件業務?過去也經常發生。

        如果你不相信我,可以看下 PHP 官網列出使用場景:

        • 服務端腳本
        • 命令行腳本
        • 編寫桌面應用

        我不太鼓勵最后一項,但它確實可行。但是前兩項確實是很棒的理由 。

        這就引出了一個重要且無法回避的事實…

        PHP 無所不在

        了解和喜愛 PHP 的理由有非常多,可能最給力和有效的理由是:它可以在網絡的任何地方使用和運行。如果你仔細尋找,你買到每月最低3美元的托管賬戶可能可以運行 Python 或 Ruby 的 Web 應用程序。但它肯定能運行 PHP 。這意味著無論什么時候你都可以依賴 PHP 。

        因為 PHP 可以運行在任何地方,并且它容易上手,很多非常受歡迎的軟件都是用 PHP 寫的。 WordPress 是對我影響最大和最熟悉的例子,除此之外,像 Joomla , Drupal , Magento , ExpressionEngine , vBulletin (是的,它仍然存在), MediaWiki 等這些工具,它們都在服務器上運行 PHP 。

        不僅如此,PHP 應用框架更是多得數不勝數, 比如:Symfony , Zend , Laravel , Aura , CakePHP , Yii 甚至是古老的 CodeIgnitor 框架。當然你可以為其它任何一門語言制作一些長度相當的 Web 框架列表。比如常用的 Web 語言像 Python , Ruby ,或 Node/JavaScript ,你甚至可以積累一個數字競爭列表來跟 PHP 比較。但運行 PHP 的網站數量龐大到無法估計。

        WordPress 自豪地聲稱在互聯網上有 30% 的用戶量。 你甚至不需要相信這個說法就會意識到許多的互聯網應用必須使用 PHP 即使這個說法甚至可以想象成是真的。

        PHP 的優點

        動態化特點

        我們還會繼續使用PHP的原因

        PHP 和 HTML 可以非常融洽地工作在一起。將 file.html 修改為 file.php ,即可在 <?php?> 標簽里編寫 PHP 代碼,并且大部分的 Web 服務器默認配置就是可以直接運行 PHP 腳本。正因為其門檻非常低,不需要懂太多編程知識的菜鳥程序員也可以直接上手操作,以至于產生了很多低品質的代碼。

        因為其易學性,大量的菜鳥程序員涌入,暴露出來另一個 PHP 一直被人詬病的問題:PHP 并沒有對自己是最好的 Web 服務器端語言有清晰的遠景,當然也沒為此做過太好的設計。導致走向了另一個結果,來自全球各地松散的合作,大雜燴般地貢獻代碼和想法,難以避免地,有一些壞的想法滲入其中。

        擁有強大的面向對象包管理是現在 PHP 中的一種標準

        我們還會繼續使用PHP的原因

        Composer 是 PHP 的加分項。

        在 PHP 的開發中,經常會有一些奇葩的東西被發布出來。最著名的栗子當屬 PHP 5.3 (廣泛的被視為 PHP 的第一個現代化版本 )中引入 goto 聲明。

        類似的問題是在 PHP 成長過程中產生:面向對象最初是作為一個有缺陷和有限制的概念來實現的,標準庫中充滿了不一致的名稱和參數排序,并且(舉個近來備受關注的栗子)在 PHP 5.3 中 :: 操作符無法識別時,解析器會拋出可讀性很差的報錯信息:語法錯誤 (T_PAAMAYIM_NEKUDOTAYIM) ,如果不看文檔,你能用英文來理解這個 T_PAAMAYIM_NEKUDOTAYIM 標示的意思嗎?

        但是現在,PHP 已經完全支持 OOP。很少語言具有像 PHP 這樣類似 Java 的 OOP 實現。另外,與 Java不同的是,PHP 有一個單獨的并擁有廣泛支持的包管理器,叫作 Composer。它非常的好用,并且不容忽視的一點是它可以方便地引用優質且維護良好的庫,具有很高的易用性。

        PHP 的高速發展

        我們還會繼續使用PHP的原因

        通過這些事實發現, PHP 正在以有趣的方式發展著。它正逐漸成為像java一樣功能齊全的面向對象語言(更好或更糟糕),正在為函數式編程提供簡單的抽象,這可以說是當前的熱點。并且,正在發展一套非常棒的工具, PHP 喜歡 Composer , 并有充分的理由 — 因為它在一些大型開源項目的協同工作上做出了值得贊揚的努力.

        當然,我們不應該忘記當前的熱點:PHP 在 PHP7 系列版本中的發展取得了速度上的提升。這被廣泛認為是由 Facbook 出現的 HHVM 引起的,在短時間內,存在 HHVM 的發展速度會破壞 PHP 社區的風險,但事實并非如此,相反,PHP 的發展速度快得多,以至于人們幾乎忘記了 HHVM 的存在。

        PHP 有一個巨大的社區;它對新手友好。

        如果你決定使用什么很酷的新技術,我認為經常得到很少關注的是與語言達成協議的方式。學習PHP是什么感覺? PHP教程很好找,質量通常也很好。

        PHP流行的一個缺點是,你會從那些對工具不夠了解的人那里找到一些不那么好的教學。或者從某人那里學到的“最佳實踐”是十年前的。但總的來說,這很少見,我不認為它應該讓你灰心。或者突然發現自己使用了幾個月的最佳實踐并不是最好的是很少見的,也不是一個大問題。

        PHP 與其他語言的比較

        接下來我們要對比下 PHP 與其他的語言,這些語言需滿足以下要求:

        • 開源:意味著你可以自由、免費地使用或者查看底層語言或者程序;

        • 應用于 Web 開發領域:不一定是專注于 Web 開發,但是在 Web 開發中有比較大的應用;

        • 高階動態語言:具備動態語言的特性,大部分面向 Web 應用的語言兼具此特性;

        • 足夠大的社區:有很多滿足以上條件,但是只是在小范圍使用的語言,我們使用這最后一個條件將他們過濾掉。

        為什么使用 PHP?而不是 JavaScript?

        也許和 PHP 比較的最重要的語言是 JavaScript。現代開發要求每個項目都至少會一點 JavaScript 來進行客戶端開發和交互。借助 Node,這使得在服務器上使用 JS 變得相對簡單。在服務器上和客戶端“同構”使用相同的語言非常吸引人。

        如同 PHP,JavaScript 是一個兼容并蓄但有時丑陋的語言,有很多的瑕疵和“陷阱”,但 JavaScript 在過去十年變得非常快,所以他的情況是真實的。為什么選擇 PHP 而不是 JavaScript?你已有專業知識或者在 PHP 使用庫。否則,我認為 JavaScript 或許是個更好的選擇。

        PHP 對比動態服務器頁面 (.Net Core)

        動態服務器語言起源于一個用于網友編程的 Microsoft 語言。他和 PHP 非常直接相似。但他運行在 Windows 服務器環境。這被 ASP.net 取代了。現在已被 ASP.NET Core 取代。后兩者現在是 PHP 一樣的開源語言。而我個人從沒有在任何變體中寫過一點 ASP。

        如果我使用且更喜歡 Microsoft 服務器的話,我會更喜歡 ASP。其他情況,請給我 PHP。兩者社區的規模和大小沒有可比性。

        我應該使用 Ruby 還是 PHP?

        Ruby,特別是 Ruby on Rails,在過去十年前 非常 受歡迎。Ruby 依然是一個備受喜愛的語言,這在我看來他比 PHP 優雅。也就是說,他的社區較小。同時我認識到 Ruby 已經不再是 "熱門語言"(被 JavaScript 取代了此角色)。Ruby 的優雅,并且有足夠多的人擅長使用,因此我不會避免他。但招聘已熟悉 Ruby 的人依舊比招聘 PHP 要難。(雖然我認為一般的 Ruby 開發者水平比相同的 PHP 開發者要高。)

        Python vs PHP:誰更好一些?

        最后一種與 PHP 一對一比較起來有意義的是 Python 。 Python 的使用場景要

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品动漫免费二区| 久久青青草原精品国产| 亚洲欧美精品一区久久中文字幕| 国产成人亚洲精品| 久久久久久亚洲精品无码| 狠狠色丁香婷婷综合精品视频 | 99热亚洲色精品国产88| 亚洲国产精品综合久久网络| 国产精品片在线观看手机版| 99re6在线精品免费观看| 欧美成人精品高清在线观看| 亚洲精品国产精品乱码不卞| 久久se精品一区二区影院| 国产成人精品福利网站在线观看 | 国产成人精品一区二区三区免费| 亚洲精品麻豆av| 久久国产乱子伦精品免费午夜| 91精品无码久久久久久五月天| 华人在线精品免费观看| 国产成人精品福利网站在线| 国产午夜精品免费一区二区三区| 久久精品欧美日韩精品| 亚洲精品无码mv在线观看网站| 欧美精品三区| 欧美日韩成人精品久久久免费看| 精品国产黑色丝袜高跟鞋| 精品久久久久久无码中文字幕| 国产精品视频九九九| 国产精品综合久成人| 国产精品免费在线播放| 国产精品H片在线播放| 国产精品久久久久乳精品爆| 国产成人久久精品二区三区 | 无码人妻精品一区二区三区久久| 亚洲精品NV久久久久久久久久| 久草热久草热线频97精品| 国产午夜亚洲精品国产成人小说| 国产精品视频色视频| 国内精品伊人久久久久网站| 国产精品无码久久综合网| 久久精品?ⅴ无码中文字幕|