2008-08-17 26 views
5

Estoy acostumbrado a escribir la aplicación C# Windows. Sin embargo, tengo un poco de espacio web alojado en PHP que me gustaría utilizar. Tengo una comprensión básica de PHP pero nunca he usado sus capacidades orientadas a objetos.¿Existe alguna manera fácil de convertir clases de C# a PHP?

¿Existe una manera fácil de convertir clases C# a clases PHP o simplemente no es posible escribir una aplicación totalmente orientada a objetos en PHP?

Actualización: No hay ninguna dependencia del .NET framework más allá de lo básico. El objetivo principal sería reestructurar las propiedades de clase, las enumeraciones variables, etc. El PHP se alojará en un servidor Linux.

Respuesta

2

Es completamente posible escribir una aplicación PHP casi por completo en una metodología orientada a objetos. Tendrá que escribir algún código de procedimiento para crear y ejecutar su primer objeto, pero más allá hay muchos frameworks MVC para PHP que están orientados a objetos. Uno que miraría como un ejemplo es Code Igniter porque es un poco más ligero en mi opinión.

3

Un gran problema sería replicar .Net Framework en PHP si la clase C# lo usa.

0

No conozco una herramienta para automatizar el proceso, pero podría usar la API de Reflexión para explorar su clase C# y generar una clase PHP correspondiente.

Por supuesto, la dificultad aquí es mapear correctamente los tipos de C# a PHP, pero con suficientes pruebas de unidades, debería poder hacer lo que quiera.

Te aconsejo que sigas este camino porque ya hice una conversión C# a VB y C++. Eso fue un dolor, pero el resultado valió la pena.

0

Si el problema es que desea hacer la transición a PHP y le complace continuar ejecutándose en un servidor de Windows con soporte de .NET, puede considerar envolver su código usando swig.

Esto se puede utilizar para generar stubs para ejecutar desde php y luego puede ir reescribiendo el código .NET en PHP de forma incremental.

Esto funciona para cualquiera de los idiomas admitidos. es decir. podrías reescribir incrementalmente una aplicación en C++ a Java si realmente quisieras.

5

PHP no admite enumeraciones, que pueden ser un área de discrepancia.

Además, ten cuidado con los tipos de colección, PHP a pesar de sus características OO, tiende a no tener alternativa al uso excesivo del tipo de datos de matriz. Consulte las secciones en el manual de PHP en iteradores si desea ver más allá de esto.

Las propiedades públicas, protegidas, privadas y estáticas de las clases funcionan prácticamente como se esperaba.

+0

+1 para ejemplos específicos de posibles áreas problemáticas. – Beska

Cuestiones relacionadas