Re: [徵求] php十大優點
※ 引述《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
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章