Hallo,
Ich habe doch da keine Möglichkeit die Klasse zu instansiieren in JS.
Wie gesagt - Mit XMLHttpRequest kannst du nichts anderes tun, als HTTP-Anfragen an den Webserver übermitteln und auf die Serverantworten zugreifen.
JavaScript und PHP haben überhaupt nichts miteinander zu tun: Wenn eine Anfrage an ein PHP-Script hereinkommt, startet der Webserver dieses. Das PHP-Script läuft dort ab, bis es sich beendet. Mögliche Ausgaben des Scriptes sendet der Webserver nach dessen Beendigung als HTTP-Antwort zurück an den Client-Rechner. Das ist meistens ein HTML-Dokument - kann aber auch reiner Text, ein Bild, JavaScript, ein XML-Dokument usw. sein.
Erst auf dem Client-Rechner, im Browser, kommt das JavaScript ins Spiel. JavaScript operiert auf Basis eines HTML-Dokuments. Mit JavaScript und XMLHttpRequest kannst du nun eine HTTP-Anfrage absenden. Wenn die Adresse auf ein PHP-Script zeigt, wird der Webserver das PHP-Script ausführen. Mehr kannst du mit JavaScript nicht machen, weil serverseitige und clientseitige Programmierung nicht ineinandergreifen - das heißt, nur über HTTP-Anfragen.
So erklärt sich, dass du mit JavaScript natürlich nicht irgendwelche PHP-Klassen instantiieren kannst. JavaScript und PHP sind eben getrennt - JS läuft auf dem Client, PHP auf dem Server. Und die einzige Möglichkeit, wie sie miteinander kommunizieren können, ist das Übertragungsprotokoll HTTP.
Wenn du ein PHP-Script schreibst, das genau dies tust: Ja, dieses Script kannst du per Ajax aufrufen, dann wird es ausgeführt und dessen Ausgabe steht dir im JavaScript zur Verfügung.
wie kann ich denn die funktion main() von meiner Klasse dann in JS aufrufen?
Soll ich den obigen Satz nochmal umformulieren Okay: Schreibe ein PHP-Script, das genau dies tut. Rufe dieses Script per Ajax auf, dann wird es ausgeführt. Dessen Ausgabe steht dir im JavaScript zur Verfügung. ;-)
Mathias