Инструмент для преобразования ASP в PHP - PullRequest
9 голосов
/ 05 июня 2009

Я программирую в основном на PHP и у меня есть сайт вместе с другими образцами в ASP, который мне нужно преобразовать в PHP. Есть ли какой-то инструмент «переводчика», который может вводить строки кода или полные блоки, которые пытаются вывести близкий эквивалент PHP?

В противном случае есть обширная таблица, в которой перечислены сравнения (например, design215.com / toolbox / asp.php )

Ответы [ 3 ]

11 голосов
/ 05 июня 2009

Это не идеально, но это преобразует большую часть кода.

1 голос
/ 05 июня 2009

Я думаю, что это плохой способ сделать это. Конечно, справочная таблица немного помогает. Но на самом деле вы должны свободно владеть как ASP, так и текущими лучшими практиками PHP, и представить, какой будет хороший дизайн PHP. Наивная транслитерация просто даст вам код PHP, который думает, что это ASP. Истинный порт будет легче понять и поддерживать.

0 голосов
/ 13 июля 2017

Я согласен с Abinadi, что инструмент Майка Кона здесь , вероятно, лучший из доступных на сегодняшний день.

Мы успешно выполнили преобразование для проекта приличного размера и написали блог о процессе: Преобразование классического ASP в PHP

Хотя стандартная справочная таблица с функцией могла бы работать, было бы МНОГО работы, чтобы все очистить. ASP в PHP по-прежнему, вероятно, является одним из самых простых преобразований, но, как уже упоминалось, скорее всего, в итоге получится код, который потенциально плох, но на другом языке.

Инструмент Майка обрабатывает довольно простые одностраничные преобразования и является хорошей отправной точкой, но он устарел, пропуская множество функций и умностей при использовании в большом проекте. Сказав это, все же стоит попробовать даже в текущем состоянии.

Вот список основных моментов, которые мы должны были рассмотреть:

  • Не у всех типов есть совместимый тип, например, даты и логические значения
  • COM-объекты могут использоваться, но может потребоваться интенсивный рефакторинг
  • Переменная чувствительность к регистру (инструменты могут здесь сильно помочь)
  • Переменная область видимости (asp любит глобалы)
  • чувствительность к регистру HTML / JS Get и Post (сложнее исправить с помощью инструментов)
  • Самостоятельные ссылки на объекты, например, для классов PHP требуется $ this-> variable
  • Если вы используете множество let / get / set, будьте готовы к более тяжелому перефакторингу

Конечно, вышеприведенный список - это просто то, на что нужно обратить внимание: если вы хотите создать инструмент, вам нужно учесть множество основ синтаксического анализа / токенизации asp-кода, прежде чем даже учитывать вышеуказанные различия.

Удачи всем, кто пытается этот конверсионный проект, сделав это до того, как мы узнаем это чувство.

...