2012-04-19 32 views
5

thể trùng lặp:
Using Hiphop for PHP extension developmentBạn có thể sử dụng HipHop PHP để xây dựng một phần mở rộng php?

Câu hỏi này là tương tự như sau: Using Hiphop for PHP extension development

Tôi không nghĩ rằng câu hỏi đó đã được trả lời thỏa đáng, nếu ở tất cả.

Tôi chắc chắn bạn có thể sử dụng HipHop PHP để chuyển đổi tệp php thành C++ mà không cần thêm máy chủ webserver của facebook. Vì vậy, bạn sẽ chỉ có tập tin php của bạn chuyển đổi sang nguồn C++. Sau đó bạn có thể biên dịch mã đó thành một phần mở rộng php không? Tôi có một số chức năng liên quan đến bảo mật mà tôi muốn biên dịch thành các phần mở rộng, nhưng tôi không biết C/C++. Và xin vui lòng, không có phản ứng của "là bạn lớn như facebook? Bạn không cần hiphop", hoặc "Sử dụng Ioncube/Zend Guard". Tôi biết những sản phẩm đó tồn tại. Chúng cũng đắt tiền.

+0

Nếu có một vấn đề với một câu hỏi bạn nên để lại nhận xét ở đó hoặc gắn cờ cho người kiểm duyệt nếu thích hợp. – Joe

Trả lời

0

Nó được biên dịch như C++, nếu bạn sử dụng các chiến thuật ./hphp/hphp text.php --keep-tempdir=1 bạn có thể giữ C++ cũng như các mã biên dịch

Bạn có khả năng có thể sử dụng HipHop PHP để chuyển đổi file PHP của bạn để C++ chúng ta có thể xây dựng tiện ích mở rộng.

Trích từ HipHop trang web

Một trong những mục tiêu thiết kế rõ ràng dẫn vào HipHop là khả năng để tiếp tục viết logic phức tạp trực tiếp trong PHP. Các công ty có các mã PHP lớn thường sẽ viết lại chức năng phức tạp của chúng trực tiếp dưới dạng các phần mở rộng PHP trong cả hai C hoặc C++. Làm như vậy sẽ kết thúc bằng cách giảm số lượng người có thể làm việc trên toàn bộ mã số của một công ty trong số . Bằng cách giữ logic này trong PHP, Facebook có thể di chuyển nhanh và duy trì một số lượng lớn kỹ sư có thể làm việc trên toàn bộ hệ thống mã.

+0

bạn nhận được mã. nếu không bạn sẽ không thể biên dịch được. –

+1

Tôi không chắc chắn bạn có thể nhận được HipHop để xuất mã như biên dịch được thực hiện cùng một lúc để bạn chỉ có mã máy –

+1

@Karoly Bạn nhận được một số hình thức mã, không phải mã C/C++. Bạn sẽ nhận được một cái gì đó có thể được biên dịch như C++, nhưng quá obfuscated được gọi là "mã nguồn" –

3

Tôi đã hỏi Scott MacVicar về chủ đề này tại hội nghị năm ngoái (tôi muốn xây dựng một số thư viện của riêng mình làm tiện ích mở rộng) và nhận phản hồi rằng HipHop không thể được sử dụng để xây dựng tiện ích mở rộng. chống lại "tiêu chuẩn" Zend PHP.

Đó là lý do tại sao tôi đã nhìn vào giải pháp thay thế như phc mà có thể chuyển đổi các script PHP để mở rộng C-ngôn ngữ cho PHP (cũng như xây dựng thực thi từ nguồn PHP)

+0

Bạn đã có may mắn với phc chưa? Bạn có thể sử dụng nó để biên dịch một phần mở rộng? –

+0

@Trevor - đáng buồn là không ở trạng thái hiện tại, tôi đang đánh vào C của tôi và xem xét việc mở rộng phc để xây dựng chính xác các hằng số lớp, ném ngoại lệ và các tính năng khác mà nó không thể xử lý hiện tại ... rất nhiều cho nó, nhưng vẫn chưa hoàn toàn –

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