Миграция большой классической ASP-страницы в php? - PullRequest
2 голосов
/ 02 апреля 2009

У нас есть большое классическое приложение asp, и мы рассматриваем возможность перехода на asp.net или php. Я не хочу говорить о плюсах и минусах любого из них, но я бы предпочел узнать, есть ли способы избежать полной перезаписи за один раз при переходе на php. Мы просто не можем прекратить поддерживать текущую кодовую базу просто чтобы переписать. Так что все должно идти рука об руку.

Если мы перейдем на asp.net, мы сможем обмениваться данными сессий между обеими технологиями и заменить части сайта новым кодом asp.net, в то время как другие просто продолжат работу. Возможен ли такой подход с php? У кого-нибудь есть опыт с такой миграцией, или он может дать мне хорошие показания?

Ответы [ 4 ]

4 голосов
/ 08 апреля 2009

Возможность обмена состоянием сеанса между ASP Classic и ASP.NET не является встроенной функцией любого языка, хотя это довольно просто сделать.

Microsoft предоставляет пример кода: http://www.google.com/search?client=safari&rls=en-us&q=share%20session%20data%20between%20ASP%20and%20ASP.NET%20pages&ie=UTF-8&oe=UTF-8

Используя пример Microsoft, вы можете довольно легко реализовать нечто подобное в PHP. По сути, вы бы использовали ASP Classic часть кода Microsoft выше. Затем в PHP вы бы написали довольно простой класс для чтения состояния сеанса из базы данных в массив или коллекцию при загрузке каждой страницы. Это немного дополнительная работа в PHP, но она не должна занимать больше, чем несколько дополнительных дней кодирования и тестирования.

В моем ограниченном опыте PHP работает на IIS6 довольно хорошо, и его поддержка в IIS7 предположительно даже лучше. Единственное препятствие, с которым я столкнулся, заключается в том, что большая часть кода PHP предполагает, что вы работаете в Linux / Unix ... но, как правило, это проблема только для кода обработки файлов (например, загрузка пользовательских изображений) работает с локальными путями файловой системы. Потому что они предполагают, что ваша файловая система использует / вместо \ как в Windows. Очевидно, довольно легко исправить.

Удачи!

1 голос
/ 09 апреля 2009

«Я бы предпочел узнать, есть ли способы избежать полной перезаписи за один снимок при переходе на php»

Добро пожаловать в наш мир.

Наша кодовая база FogBugz была написана на классическом ASP, и когда мы хотели предложить ее на Linux, самым простым решением было написать компилятор, который читает asp и испускает php. Это было не так сложно и заняло не более нескольких недель.

Достоинство было в том, что когда мы решили переключить все наше приложение на .NET, это означало лишь небольшую настройку компилятора для вывода объектного кода .Net.

Но чтобы вернуться к вашему ответу, ASP и PHP ОЧЕНЬ ОЧЕНЬ похожи, и в зависимости от вашего приложения есть действительно наивные переводчики, которые могут помочь вам в этом.

1 голос
/ 02 апреля 2009

Да; можно обмениваться данными сеанса между страницами ASP и ASP.NET в одном веб-приложении. Мы делаем это с помощью нашего старого кода на моей работе.

Я знаю, что можно запустить PHP на IIS. Не уверен насчет совместного использования сеансов между сценариями ASP и PHP.

0 голосов
/ 08 апреля 2009

Просто еще один вариант. У Джона Бути тоже хорошее предложение.

Если данные сеанса не являются конфиденциальной информацией, вы можете использовать файлы cookie, которые также не зависят от платформы, пока пользователь не включит файлы cookie.

Это, вероятно, не самый лучший вариант, если учесть пост, но подумать о другом.

...