2008-08-17 68 views
5

Tôi quen với việc viết ứng dụng C# Windows. Tuy nhiên tôi có một số không gian web PHP lưu trữ miễn phí mà tôi muốn sử dụng. Tôi có một sự hiểu biết cơ bản về PHP nhưng chưa bao giờ sử dụng các khả năng hướng đối tượng của nó.Có cách nào dễ dàng để chuyển đổi các lớp C# sang PHP?

Có cách nào dễ dàng để chuyển đổi các lớp C# sang các lớp PHP hay không chỉ là không thể viết một ứng dụng hướng đối tượng đầy đủ trong PHP?

Cập nhật: Không phụ thuộc vào khuôn khổ .NET ngoài những điều cơ bản. Mục đích chính sẽ là cơ cấu lại các thuộc tính lớp, các enums biến, vv PHP sẽ được lưu trữ trên một máy chủ Linux.

Trả lời

2

Hoàn toàn có thể viết một ứng dụng PHP gần như hoàn toàn trong một phương pháp hướng đối tượng. Bạn sẽ phải viết một số mã thủ tục để tạo và khởi chạy đối tượng đầu tiên của bạn nhưng ngoài ra còn có rất nhiều khung công tác MVC cho PHP, tất cả đều hướng đối tượng. Một trong đó tôi sẽ xem xét như là một ví dụ là Code Igniter bởi vì nó là một trọng lượng nhẹ hơn một chút trong quan điểm của tôi.

3

Một vấn đề lớn là sao chép khung .Net trong PHP nếu lớp C# sử dụng nó.

0

Tôi không biết về một công cụ để tự động hóa quy trình nhưng bạn có thể sử dụng API phản xạ để duyệt lớp C# của bạn và tạo một lớp PHP tương ứng.

Tất nhiên, khó khăn ở đây là ánh xạ chính xác các loại C# sang PHP nhưng với đủ đơn vị kiểm tra, bạn sẽ có thể làm những gì bạn muốn.

Tôi khuyên bạn nên đi theo cách này bởi vì tôi đã thực hiện chuyển đổi C# sang VB và C++. Đó là một nỗi đau nhưng kết quả là đáng giá.

0

Nếu vấn đề là bạn muốn chuyển sang PHP và bạn vui lòng tiếp tục chạy trên máy chủ Windows có hỗ trợ .NET, bạn có thể cân nhắc việc gói mã của mình bằng cách sử dụng swig.

Điều này có thể được sử dụng để tạo cuống để thực thi từ php và sau đó bạn có thể viết lại mã .NET thành PHP theo cách gia tăng.

Tính năng này hoạt động với bất kỳ ngôn ngữ được hỗ trợ nào. I E. bạn có thể viết lại một cách ứng dụng trong C++ thành java nếu bạn thực sự muốn.

5

PHP không hỗ trợ enums, có thể là một khu vực không phù hợp.

Ngoài ra, hãy chú ý đến các loại bộ sưu tập, PHP mặc dù đó là các tính năng OO, có xu hướng không có thay thế cho việc sử dụng quá nhiều kiểu dữ liệu mảng. Kiểm tra các phần trong hướng dẫn sử dụng PHP trên các trình vòng lặp nếu bạn muốn thấy ngoài điều này.

Thuộc tính công khai, được bảo vệ, riêng tư và tĩnh của các lớp đều hoạt động gần như mong đợi.

+0

+1 để biết các ví dụ cụ thể về các vấn đề có thể xảy ra. – Beska

Các vấn đề liên quan