2012-07-25 36 views
7

Tôi đã phát triển một ứng dụng mà tôi muốn sử dụng meteor.js để cập nhật thời gian thực (tôi muốn nâng cao nhưng không thay đổi chương trình của mình, ví dụ: khi người dùng thêm nhận xét nó cập nhật trong thời gian thực). Vấn đề là meteor.js sử dụng node.js (vì vậy javascript là mã phía máy chủ). Tôi sử dụng LAMP stack, Có thể lấy PHP để nạp dữ liệu vào meteor.js từ mysql hay không.Sử dụng meteor.js với phía máy chủ php

+1

Meteor.js là một hệ thống/khung vững chắc được xây dựng bởi Node.js/MongoDB/Javascript. Nó không thể là một dịch vụ độc lập cho các chương trình của bạn. Điều đó có nghĩa là nếu bạn muốn thêm bình luận giống như thời gian thực, trang bình luận phải được xây dựng bởi Meteor.js. –

+0

Có lẽ bạn nên chọn câu trả lời ngay bây giờ – Prashant

+0

Tôi đang tìm kiếm điều tương tự. Chúng tôi có một ứng dụng PHP và cần thời gian thực cho giao diện người dùng. Sau đó, chúng tôi có thể sẽ di chuyển toàn bộ ứng dụng sang thiên thạch. Tôi nghĩ rằng sao băng được thiết lập để xử lý việc này. Có https://github.com/We-Inspire/WIConnect-node cho Laravel (một ứng dụng php) vì vậy tôi biết mọi người đang thử nó. –

Trả lời

10

Meteor không chỉ là khung công tác 'ứng dụng web tương tác' hoặc javascript. Ý tưởng là chỉ có một ngôn ngữ lập trình (ngoài HTML/CSS để đánh dấu) để thực hiện tất cả công việc. Về cơ bản nó tạo ra một 'máy chủ từ xa' (trong trình duyệt của khách hàng) nó có thể đẩy dữ liệu đến và đồng thời nó xuất bản các API khác nhau cho hệ thống người dùng. Dữ liệu được truyền qua các API/kết nối này có một cấu trúc cụ thể phải được tôn trọng mọi lúc.

Meteor được xây dựng xung quanh NodeJS, làm cho nó khó (nếu không phải là không thể) để chạy nó mà không có phần phụ trợ này. Chắc chắn bạn có thể thử bắt chước phần phụ trợ bằng cách sử dụng PHP, nhưng nó sẽ lãng phí thời gian. Đọc câu hỏi của bạn, bạn sẽ tốt hơn khi sử dụng một khung javascript như jQuery hoặc Prototype. Không giống như Meteor, bạn sẽ cần phải thực hiện các cuộc gọi AJAX (POST & CallBack), nhưng bạn thực sự có thể quyết định chương trình phụ trợ nào bạn muốn sử dụng (bao gồm cả PHP/MySQL).

Nếu bạn muốn thực hiện điều này, bạn cần kiểm tra mã nguồn Meteor & NodeJS để xem yêu cầu tối thiểu là gì để làm cho Meteor chạy dưới PHP. Ngăn xếp PHP phải giải thích các lệnh mà Meteor gửi và người nhận, nhưng đây không phải là một nhiệm vụ dễ dàng.

+1

Câu trả lời này không thực sự hợp lệ nữa. Meteor được thiết lập để sử dụng DDP, theo các tài liệu CÓ THỂ làm việc trong bất kỳ ngôn ngữ nào. https://www.meteor.com/blog/2012/03/21/introducing-ddp –

+1

Mặc dù bạn hoàn toàn đúng về DDP cho phép bạn kết nối với máy khách và đẩy dữ liệu, bản thân câu trả lời vẫn hợp lệ. Sử dụng PHP bạn cần bắt chước phần phụ trợ và đẩy dữ liệu mặc dù API/giao thức (DDP). Khó khăn nhất để tạo ra là một ngăn xếp mà phản ứng trên (ví dụ) thay đổi cơ sở dữ liệu và đẩy chúng cho các khách hàng được kết nối. Đối với DDP, nó thực sự dành cho các khách hàng khác nhau (ví dụ như một ứng dụng iOS) để kết nối meteor.js-server (https://www.meteor.com/ddp). – KilZone

3

Bạn có thể sử dụng comet (hoặc đảo ngược ajax) để cập nhật thời gian thực.

1

Cố gắng kết hôn node.js với PHP không giống như một con đường đáng giá để đi xuống. Nếu ai đó nhấn mạnh vào việc sử dụng một hệ thống như Meteor.js, nhưng với một PHP back-end, nó sẽ có ý nghĩa hơn để nhìn vào AngularJS mà chủ yếu là phía máy khách.

Tất nhiên, đó là ngăn xếp công nghệ khác nhau. Nếu ai đó thực sự nhấn mạnh vào việc pha trộn, người ta có thể xem xét việc sử dụng các socket phía máy chủ để tương tác với các dịch vụ Web PHP; và/hoặc sử dụng mongodb và/hoặc mysql-node để tương tác với cùng một cơ sở dữ liệu.

+0

Không có sự trộn lẫn của node.js với PHP trong câu hỏi. Anh ta muốn các bản cập nhật phía máy khách thời gian thực với một ứng dụng PHP hiện có. Trong ánh sáng đó, câu trả lời sao chổi là gần. – smhg

+0

Tôi đã không đề cập đến node.js, nhưng câu hỏi đề cập đến PHP, node.js và sao băng, AND hỏi làm thế nào có thể trộn chúng. Câu trả lời sao chổi là tốt, mặc dù sao chổi và ajax là giải pháp tồi tệ hơn là tốt hơn là heo tài nguyên, đặc biệt là cho các thiết bị di động. – jerseyboy

1

Tôi đã phát hành một thiên thạch package tương tác với một trang Wordpress có Wordpress JSON API. Khắc phục nhanh. Bây giờ.

Đi kèm với một cuộc gọi phụ trợ sẽ trả lại dữ liệu thô hoặc xuất bản lưu trữ các bài đăng bằng id của chúng thay vì tạo ra một mong muốn ngẫu nhiên. Và một số mẫu cơ bản để giúp bạn bắt đầu bao gồm biến phiên mà theo dõi bài đăng hiện được chọn.

Tôi đang làm việc trên nó nhiều hơn và cuối cùng sẽ có một phiên bản trực tiếp thực hiện cuộc gọi mysql từ nút, do đó bạn sẽ không cần php hoặc Wordpress; chỉ khả năng truy cập cơ sở dữ liệu mysql (có thể từ xa, với cấu hình thích hợp, hoặc trên cùng một máy).

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