iT邦幫忙

0

網頁 PHP 改成 ASP.NET 要怎麼改呢 ?

php

有那些要改呢 ? 還是重新設計比較快呢 ?

18
賽門
iT邦超人 1 級 ‧ 2011-12-16 13:42:51
最佳解答

微軟為了攻ASP.NET, 早期曾經推出一個PHP to ASP.NET 1.x Migration Assistant工具.

協助把PHP網站專案轉移到ASP.NET 1.x的網站專案.

我曾經在幫朋友的專案裏用過, 還可以使用, 但轉出來的專案是VS2003的版本, 現在使用VS2010, 就必需要更新專案, 這個VS2010會自動轉換.

可是, 問題在那個Migration Assistant工具並沒有'聰明'到都能轉成功, ASP.NET 1.x專案讀出來後, 還是要一點一點的去Debug與改寫.

惟一可以確定的是HTML語法的部份(也就是版型等等)都還OK, 其他, 就真的是要花苦工去改.

如果Tony大真的只有轉PHP專案一途, 建議是用這個工具轉成ASP.NET 1.x專案後, 用VS2010打開來, 先把網頁設計搞定(可能會亂七八糟的版型), 然後再看原始程式, 把那一大堆工具無法轉出來而被Remark的部份手動改寫.

因為很耗工, 所以, 最後我們決定在VS2010完全重寫比較快!

以上提供Tony老大參考, 並祝您萬事如意!

8
tanpen
iT邦研究生 3 級 ‧ 2011-12-16 12:00:22

不同的架構.可能只有重寫了吧..

wiseguy提到:
因為微軟有 VS 可以用,所以才捨 php 就 .net 的啊

重寫比較快~+1

就版主您所說~asp.net有很多元件可以拉~
用拉的會比較快~

但是就同很多有經驗的先進們所說~
套件是沒辦法達到真正深入的需求~

所以重構必須號上一筆時間或金錢~
至於成本及風險~
就只能由版主您自行評估~

我們沒辦法幫您評估~^^"

10
liurambo0911
iT邦高手 1 級 ‧ 2011-12-16 12:58:07

tonychen168提到:
那些

很懷疑樓主之不知道什麼是PHP 什麼是.NET

而且.NET還分很多版哩 .NET2003? 2008? 2010?

眾多版本你是要哪一個暈

這不是沒辦法達成
只是你想要花多少人力跟時間 還有最重要的金錢嘆氣

看更多先前的回應...收起先前的回應...

PHP + MYSQL 免費網頁語言 , 只要記事本就可以撰寫
但是很多都要自己寫 , 不像 VS2010 有很多工具可以拉
所以我才想要改成 VS 2010

我自己以前也是用ULTRAEDIT寫ASP的
只要習慣了 其實也還好
.NET這是另一種層次
基本上我個人覺得 當然是可以
但得花上很大工夫在抓BUG

chan15 iT邦新手 5 級 ‧ 2011-12-17 11:01:46 檢舉

其實早期程式用拉的 Adobe 的 Dreamweaver 是先驅,只是知道的人並不多,舉凡寫入、更新、刪除、列表'圖片上傳、分頁、邏輯那些都有,但一般都是從拉開始學,接著進入手動刻的世界,樓主反過來比較有趣

一大堆的 extension 免費付費的可以安裝
http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=3&loc=en\_us

知名的 extension 網站
http://www.dmxzone.com/

用拉的可能的問題:

  1. 靠工具拉往往反而容易「侷限」自己,客戶的需求你發現用拉的拉不出來可能就會跟她說做不到,本末倒置
  2. 程式撰寫跟架構觀念不容易進步
  3. 容易產生很多不必要的 code,維護不易
  4. 其實累積久了以後,自己的 class 慢慢多起來,打字會比拉的還快

上面是我的經驗啦,個人覺得樓主應該是要以環境需求學習改變語言,而不是因為他有好用的工具才對...

其實早期程式用拉的 Adobe 的 Dreamweaver 是先驅,只是知道的人並不多,舉凡寫入、更新、刪除、列表'圖片上傳、分頁、邏輯那些都有,但一般都是從拉開始學,接著進入手動刻的世界,樓主反過來比較有趣

半路出家或是那種二不像的開發者
才會從拉元件開始學程式吧?
先學拉元件再去瞭解怎麼手工刻程式碼
這種順序在傳統的程式人員來看
才是反過來
才是你說的有趣
請先弄清楚一點
視覺元件的產生
是為了要增進開發人員的效率 (絕不是為了降低程式設計這個行業的門檻)
所以程式設計的型態
才會從手工刻寫程式碼
慢慢轉為元件使用和設定

圓頭人 iT邦新手 2 級 ‧ 2018-09-07 11:14:46 檢舉

如果大大考量PHP不好維護,想改用.NET
改成.NET的功會比維護PHP來的大...

不過也列出各種方案,每個都試試,再來評估,也是不錯的嘗試.

16
wiseguy
iT邦超人 1 級 ‧ 2011-12-17 00:09:01

樓主是因為微軟有 VS 可以用,所以才捨 php 就 .net 的啊?驚
我是建議直接在 IIS 上安裝 php,先讓 php 與 .net 可以同時跑。
微軟有出 php 連 SQL server 的原生 driver,所以同時使用 MSSQL 沒什麼問題。然後一組人用 .net 繼續開發新功能,另一組人則同時逐步把 php 改寫為 .net。

我的團隊剛好是做相反的工作。
在 windows 的環境中,安裝 apache 搭配 mod_dotnet,再在 VS 中安裝 MySQL .Net Connector,讓 apache 可以跑 .net 跟 php,然後一組人用 php 繼續開發新功能,另一組人則同時逐步把 .net 改寫為 php。最後把 OS 換成 Linux,就擺脫微軟了。

sula3065408 iT邦研究生 1 級 ‧ 2011-12-19 08:44:31 檢舉

所以了解狀況的先行者往PHP前進,在問問題的後行者現在卻往.NET走...

6
外獅佬
iT邦大師 1 級 ‧ 2011-12-17 22:17:10

可以先轉換到ASP.NET 1.1再往下發展....
Microsoft官方有PHP to ASP.Net migration 工具
連結

我要發表回答

立即登入回答