2012-07-25 9 views
7

Opracowałem aplikację, w której chciałbym używać meteor.js do aktualizacji w czasie rzeczywistym (chcę ulepszyć, ale nie zmienić mojego programu, na przykład, gdy użytkownik doda komentarz aktualizuje się w czasie rzeczywistym). Problem polega na tym, że meteor.js używa node.js (więc javascript jako kod po stronie serwera). Używam LAMP stosu, czy jest możliwe, aby PHP przekazywało dane do meteor.js z mysql.Korzystanie z meteor.js ze stroną serwera php

+1

Meteor.js to solidny system/framework zbudowany przez Node.js/MongoDB/Javascript. Nie może to być samodzielna usługa dla twoich wychodzących programów. Oznacza to, że jeśli chcesz, aby komentarz dodający wyglądał w czasie rzeczywistym, strona z komentarzem musi być zbudowana przez Meteor.js. –

+0

Powinieneś chyba wybrać odpowiedź teraz – Prashant

+0

Szukam tej samej rzeczy. Mamy aplikację PHP i potrzebujemy czasu rzeczywistego dla interfejsu. Później prawdopodobnie przeniesiemy całą aplikację na meteor. Myślę, że meteor jest ustawiony, aby sobie z tym poradzić. Jest https://github.com/W-Inspire/WIConnect-node dla Laravel (aplikacja PHP), więc wiem, że ludzie próbują tego. –

Odpowiedz

10

Meteor jest czymś więcej niż tylko "interaktywną aplikacją webapplication" lub środowiskiem javascript. Chodzi o to, aby mieć tylko jeden język programowania (oprócz HTML/CSS dla znaczników), aby wykonać całą pracę. Zasadniczo tworzy "serwer zdalny" (w przeglądarce klientów), może przesyłać dane do i jednocześnie publikuje różne interfejsy API dla systemu użytkowników. Dane przesyłane przez te interfejsy API/połączeń mają określoną strukturę, którą należy zawsze przestrzegać.

Meteor zbudowany jest wokół NodeJS, co utrudnia (jeśli nie jest niemożliwe) uruchomienie bez tego backendu. Pewnie możesz spróbować naśladować backend używając PHP, ale byłoby to stratą czasu. Czytając swoje pytanie, lepiej będzie użyć struktury javascript, takiej jak jQuery lub Prototype. W przeciwieństwie do Meteora, będziesz musiał wykonać wywołania AJAX (POST & CallBack) samemu, ale możesz zdecydować, który backend chcesz użyć (włączając PHP/MySQL).

Jeśli chcesz to zrobić, musisz sprawdzić kod źródłowy NodeJS Meteor, aby sprawdzić, jakie są minimalne wymagania, aby Meteor działał pod PHP. Stos PHP musi interpretować polecenia wysyłane i odbierane przez Meteor, ale nie będzie to łatwe zadanie.

+1

Ta odpowiedź jest już nieaktualna. Meteor jest skonfigurowany do używania DDP, który zgodnie z dokumentami CAN może pracować w dowolnym języku. https://www.meteor.com/blog/2012/03/21/introducing-ddp –

+1

Chociaż masz absolutną rację w kwestii DDP, umożliwiając połączenie z klientem i przesyłanie danych, sama odpowiedź jest nadal ważna. Używając PHP musisz naśladować backend i przesyłać dane przez API/protokół (DDP). Najtrudniejszy do utworzenia jest stos, który reaguje na (na przykład) zmiany w bazie danych i przesyła je do połączonych klientów. Jeśli chodzi o DDP, to w rzeczywistości dla różnych klientów (np. Aplikacji iOS) do połączenia meteor.js-server (https://www.meteor.com/ddp). – KilZone

3

Możesz użyć comet (lub reverse ajax) do aktualizacji w czasie rzeczywistym.

1

Próba poślubienia node.js przy użyciu PHP nie brzmi jak warta przejścia ścieżka. Jeśli ktoś nalegał na używanie systemu takiego jak Meteor.js, ale z zapleczem PHP, bardziej sensownym byłoby przyjrzenie się AngularJS, które jest głównie stroną klienta.

Oczywiście, to jest stos różnych technologii. Jeśli ktoś naprawdę nalegał na mieszanie, można rozważyć użycie gniazd po stronie serwera do interakcji z usługami sieciowymi PHP; i/lub użyj mongodb i/lub mysql-node do interakcji z tymi samymi bazami danych.

+0

Nie ma mieszania node.js z PHP w pytaniu. On chce aktualizacji po stronie klienta w czasie rzeczywistym z istniejącej aplikacji PHP. W tym świetle odpowiedź komety jest bliska. – smhg

+0

Nie wspomniałem o node.js, ale pytanie wymienia PHP, node.js i meteor, AND pyta, jak można je miksować. Odpowiedź komety jest dobra, chociaż kometa i ajax są gorszymi i lepszymi rozwiązaniami, które są świniami zasobów, zwłaszcza dla urządzeń mobilnych. – jerseyboy

1

Wydałem meteoryt package, który wchodzi w interakcję z witryną Wordpress o numerze Wordpress JSON API. Szybka naprawa. Na razie.

Zawiera wywołanie backendu, które zwróci nieprzetworzone dane lub publikację przechowującą posty z użyciem ich identyfikatorów zamiast losowo wygenerowanego mongoidu. Oraz kilka podstawowych szablonów do rozpoczęcia, w tym zmienna Session, która śledzi aktualnie wybrany post.

Pracuję nad tym znacznie więcej i docelowo będzie mieć wersję, która bezpośrednio wywołuje mysql z węzła, więc nie będziesz potrzebować php ani Wordpressa; tylko możliwość dostępu do bazy danych mysql (która może być zdalna, z odpowiednią konfiguracją lub na tym samym komputerze).

Powiązane problemy