Re: [徵求] php十大優點

看板PHP作者 (缺錢啦 @@)時間19年前 (2005/10/22 12:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/10 (看更多)
※ 引述《hialan (You are dead.)》之銘言: : ※ 引述《shrimp0427 (shrimp)》之銘言: : 3. 跨平台。跨平台應該不是他們關注的焦點,但是因為使用技術的關係, : 在平台上還是有限制。 : 而因為 Apache 在各種機器上都有版本,所以 PHP 應該也可以在所有機器上執行。 : 如果今天在 Win32 上面沒有 Apache , PHP 也可以直接支援 IIS ,讓 IIS 跑 PHP : 而 ASP.NET 幾乎不可能在 IIS 以外的伺服器上跑, : 雖然他的 .Framework 號稱跨平台,但我認為他所跨的是 Windows 32bits : 和 Windows 64bits,當然這不較跨平台啦。 : JSP 在兩個平台上應該都可以跑,因為 Java 在任何機器上也都可以跑。 理論上, open source 就足以讓你跨平台 -- 只要 depending package / library 都存在 : 4. 語法近似 C 語言,適合熟悉 C 語言開發環境的人。 : ASP.NET 是使用 VB.NET : JSP 是使用 Java : 不過 C 語言還是最基本的語言,這也是優勢。 php 的變數型態非常弱, 這能夠讓我們快速的開發, 但也能讓我們寫出很難想見的 bug. : 1. 沒有搭配好的元件以及所見即所得的開發工具。 : 例如 ASP.NET 使用 Visio Studio 或是新的 Web Developer, : 左邊有幫你寫好的一些工具,像是日曆之類的東西,一拖過去就好了。 : JSP 在這方面也是輸給新的 ASP.NET 就 ASP.Net 的新觀念來看, 我覺得他們有點想打破 server-client 間的藩籬 (雖然還是透過 page reloading / form, 而非其他帥氣的技術啦 XD) 在觀念上, 我會覺得這些套件沒太多了不起的, 至少萬變不離其宗, 而且自己寫出這些東西 (喔,或寫成套件, 如 form-gen) 也不是太困難, 要修改更是容易. 別忘了我們有物件導向技術... 什麼, 大家都有啊 XD : 2. 物件化。這或許與 PHP 一直想要支援物件導向有關。 : 我使用 ASP.NET 編輯,假設要連線資料庫,只要拖一個連線 SQL 的物件上去。 : 在原始碼看到的只是一個標籤。 : 這有甚麼好處? 假設今天連線資料庫的這個地方有問題,我不必修改原始碼, : 只要該語言的發展人員放上更新就可以解決問題,而已經設計好的網頁都不用動到。 : 但是今天 PHP 是把連線資料庫這些動作寫在程式裡面,如果今天函式因為安全性 : 修改,那網站維護人員可能就要頭大了。 : 如果 PHP 支援物件導向,而且開放社群自行撰寫物件,我們以後如果要寫程式 : 也只是引入幾個物件,把參數打好。這樣一來不只可以解決這個問題,也可以提供 : 比 ASP.NET 更多的類別使用。 當然可以. try PEAR::DB 我在 src code 所使用的, 也只有 $mydb =& new DB ; 而已. 如果你想把資料放在自己的設定檔裡, 那麼也可以如此產生 DSN 如果你會動態改變資料庫帳號, 甚至可以 extend 你自己的 DB class. : 3. 語言的規格化。 : 有的人跟我說, ASP.NET 可以提供驗證甚麼什麼的,發展起來比較安全, : 架構也比較大。當然我個人非常不以為然,但是這或許也是 PHP 的一個缺點。 : 怎麼說呢? 應該說是 PHP 這個語言本身太自由了,所以今天你可能寫出來的程式 : 可以跑,但是並不安全,而學習 PHP 的使用者也並沒有被教導要如何才能寫出安 : 全的網站。 驗證 ? 在 server side 重新檢查使用者的輸入資料, 應該是安全性的第一步吧. php 也能透過 addslashes / htmlspecialchar 函數來做到既有, 已知的替換 你也能使用 POSIX or Perl regular expression replace 來做到其他事 : 我覺得這主要是在推廣的問題而不是語言本身的問題。 : 在這方面, ASP.NET 和 JSP 就比 PHP 好。 : 在語言方面,就提供了很多很多大企業用的功能。 : 例如表單驗證,伺服器資料快取之類的功能。 Server side cache ? 我以為這是 coder 的責任 XD 你應該要知道你需要快取哪些資料, 或是為使用者先抓哪些資料進來, 或者對靜態頁面, 直接從 apache 做到 cache. 就我的感覺, ASP.Net 對 PHP 最大的優勢在於程式碼的重複利用率較高. 並且整個 .Net Framework 也提供了許多高效能的資料結構型態, 或甚至某些運算的演算法. 這使得程式碼執行效能上, ASP.Net 可以高過PHP 另外, 由於 ASP.Net 使用 code-behind 的概念, 我可以直接引入方案 (Workspace) 中的其他元件, 如此能夠幫助橫跨 server-ap, service, web-app 之間程式的開發. 對 PHP 想做到這樣的事情, 難度可就高許多了. 即使能做出這樣的 "功能" (透過 socket / php-executables), 效能也會是種巨大的問題. 並且當專案長的夠大時, 缺少一些較嚴謹的特性如型別檢查, 宣告, 以及目前仍未有完整 開發/文件 的 app schema generator (like javadoc) 也會造成某種程度的阻礙. Visual SourceSafe ? 這什麼東西啊, cvs / svn 都是更開放的協定. -- 鬼壓床怎麼辦 騎上去啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.121.97
文章代碼(AID): #13MS38Ys (PHP)
文章代碼(AID): #13MS38Ys (PHP)