PHP 板


LINE

看板 PHP  RSS
※ 引述《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







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP