Есть ли простой способ преобразовать классы C # в PHP?

StackOverflow https://stackoverflow.com/questions/13647

  •  08-06-2019
  •  | 
  •  

Вопрос

Я привык писать приложения на C # для Windows.Однако у меня есть некоторое бесплатное веб-пространство на PHP, которое я хотел бы использовать.У меня есть базовое представление о PHP, но я никогда не использовал его объектно-ориентированные возможности.

Есть ли простой способ преобразовать классы C # в классы PHP или просто невозможно написать полностью объектно-ориентированное приложение на PHP?

Обновить: Нет никакой зависимости от .NET Framework, кроме базовых.Основной целью было бы реструктурировать свойства класса, перечисления переменных и т.д.PHP будет размещен на сервере Linux.

Это было полезно?

Решение

Вполне возможно написать PHP-приложение почти полностью на основе объектно-ориентированной методологии.Вам нужно будет написать некоторый процедурный код для создания и запуска вашего первого объекта, но помимо этого существует множество MVC-фреймворков для PHP, которые все объектно-ориентированы.Один из них, который я бы рассмотрел в качестве примера, это Кодовый Воспламенитель потому что, на мой взгляд, он немного легче по весу.

Другие советы

PHP не поддерживает перечисления, что может быть одной из областей несоответствия.

Кроме того, следите за типами коллекций, PHP, несмотря на свои возможности OO, как правило, не имеет альтернативы чрезмерному использованию типа данных array.Ознакомьтесь с разделами руководства по PHP, посвященными итераторам, если вы хотите заглянуть за рамки этого.

Общедоступные, защищенные, частные и статические свойства классов работают примерно так, как ожидалось.

Огромной проблемой было бы реплицировать .Net Framework на PHP, если класс C # использует его.

Я не знаю об инструменте для автоматизации процесса, но вы могли бы использовать Reflexion API для просмотра вашего класса C # и создания соответствующего класса PHP.

Конечно, трудность здесь заключается в том, чтобы правильно сопоставить типы C # с PHP, но при достаточном модульном тестировании вы должны быть в состоянии делать то, что хотите.

Я советую вам пойти этим путем, потому что я уже преобразовал C # в VB и C ++.Это была боль, но результат того стоил.

Если проблема заключается в том, что вы хотите перейти на PHP и вы рады продолжить работу на сервере Windows с поддержкой .NET, вы могли бы рассмотреть возможность переноса вашего кода с помощью глоток.

Это может быть использовано для создания заглушек для выполнения из php, и затем вы можете приступить к переписыванию кода .NET в PHP поэтапным способом.

Это работает для любого из поддерживаемых языков.т.е.вы могли бы постепенно переписать приложение с c ++ на java, если бы действительно захотели.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top