2011-01-14 17 views
-3

Ich baue eine Web-Anwendung, in der der Benutzer eine Seite hinzufügen, bearbeiten das Layout, Drag-Drop-Element, Größe ändern, formatieren Sie den Text, bearbeiten Sie das Element-Attribut usw. In der Seite der Benutzer kann dynamische Daten enthalten, wie Daten aus der Datenbank, Daten, die von PHP-Code generiert werden usw.

Ich habe in letzter Zeit mit CakePHP und JQuery herum gespielt und versucht, diese App zu bauen. Aber ich bin darauf gestoßen, wie ich den PHP-Code richtig anzeigen kann. Ich habe versucht, in den Cake-PHP-Core-Code zu suchen und über Ausgabepufferung zu suchen und versuchte, Ausgabepufferung zu verwenden, um den php-Code zu analysieren und regex zu verwenden, um es anzuzeigen, aber es ist wahrscheinlicher, das Rad neu zu erfinden, wenn ich den Parser mein selbst schreibe
Was ich fragen ist:
Ok, um einfacher und spezifischer zu sein Ich möchte nur fragen, wie zu speichern und laden Sie die Seite, die vom Benutzer erstellt wurde, besonders wenn die Seite PHP-Code enthält. Ich will nur wissen, gibt es eine andere Methode, als meinen eigenen Parser oder vielleicht eine Bibliothek zu schreiben, um einen PHP-Code zu analysieren?Erstellen von PHP-WYSIWYG-Editor

Ok das ist alles für jetzt, hat jemand eine Idee, wie man es implementiert? Oder vielleicht irgendeine Seite/Website, die nützlich sein könnte, um eine Referenz zu nehmen? Vielleicht ein Beispiel-Code, aus dem ich eine Referenz nehmen kann
Danke

+2

Sie stellen hier einige große Fragen. Ist das dein erstes PHP-Projekt? – fredley

+2

Drupal oder Joomla installieren !, auf einer Website-Design-Kurs gehen, lesen Sie über 3 oder 4 PHP und MySQL Bücher, eine Reihe von Foren beitreten und lesen, verbinden Sie lokale PHP-Benutzergruppe etc. etc. – PurplePilot

+1

Wie fredley, ich vermute, Sie‘ Überstrapazieren Sie sich. Aber vielleicht möchten Sie einen Blick auf http://pfp-studio.sourceforge.net/ und http://radria.sqlfusion.com/ – symcbean

Antwort

-1

Ich bin nicht sicher, dass Sie hier eine gute Antwort finden.

Whoa Ich weiß nicht, wo ich anfangen soll. Ich werde mit der Nummer 3 beginnen. Sie wollen Widgets. Dann bedeutet das, dass Sie eine Widget-Klasse oder Objekte erstellen müssen, die eine Vorlage oder etwas haben, das sie "gut, irgendwie" zeichnbar macht. Wenn ich du wäre, würde es von Javascript und nicht wirklich von PHP geladen werden. Jedes Widget wäre in gewisser Weise einzelne Anwendungen in einem Div mit Javascript geladen werden.

Punkt 2, Sie wollten Widgets. Wenn Sie Widgets zu Ihrer Seite hinzufügen, müssen Sie einige Informationen wie Position, Titel, Abmessungen usw. speichern. Sie können sogar die Erstellungsparameter speichern. Zum Beispiel kann ein ListWidget mit einem anderen ItemProvider gestartet werden. Auf diese Weise müssen Sie nicht 1000 Widgets schreiben, sondern nur eines, das einen anderen Inhalt zeigt. Das heißt, Sie haben Widgets, Dimension und Position. Nun, das führte uns zu Punkt 1.

Punkt 1. Sobald Sie Ihre Widgets, Position und Abmessungen haben, senden Sie die Daten, die Sie verwendet haben, um sie mit der Seite verbunden zu erstellen, an den Server. Das führte uns wieder zu zwei Punkten.

Sobald Sie eine Seite gespeichert haben. Sie können es sehen, indem Sie alle Widgets mit Parametern abrufen und so weiter. Das gibt Ihnen 2 Möglichkeiten.

  1. Generieren Sie Javascript, das die gespeicherten Widgets neu erstellt.
  2. Generate Html wird alle Widgets.

Option 1 ist einfacher, da Option 2 html nicht an Javascript binden wird. Lösung 2 ist dagegen besser, da nur eine Anfrage an den Server gestellt wird.

Oh, und eine letzte Sache, sollten Sie sich ein paar Grenzen setzen. So etwas kann sehr kompliziert werden und leider nicht so toll. Siehe zum Beispiel drupal. Es macht viele coole Sachen, aber sobald Sie viele Module installieren. Drupal verwandelt sich in eine Art Gedächtnis, das Monster isst. Und fast immer braucht man nicht so viel dynamischen Inhalt. Feste Layouts funktionieren fast 99% der Zeit.

Ich bin auch gezwungen, das zu sagen, aber wenn Sie versuchen, eine Anwendung zu erstellen, die Benutzern so viel Macht geben, wie ein Wissenschaftler, der eine 7-beinige Katze erhöhen könnte. Ich denke, du wirst mit wirklich obskuren Kräften spielen!