Ergebnis 1 bis 4 von 4

Thema: Contao oder Framework oder Eigenbau für WebApp

  1. #1
    Contao-Nutzer
    Registriert seit
    26.10.2012.
    Beiträge
    52

    Standard Contao oder Framework oder Eigenbau für WebApp

    Hallo,
    ich habe mich seit einiger Zeit etwas mit Contao beschäftigt.
    Nun möchte ich für ein Projekt eine WebApp/Webformular erstellen.

    Folgendes sollte enthalten sein bzw. muss dafür programmiert werden:
    - Template-System
    - MySQL-DB-Abfragen
    - Formulare für Eintragungen in MySQL und Darstellung von Einträgen aus derselben
    - Auth- bzw. Login-Script über eigene MySQL-Kundendaten (nicht Benutzer von Contao!)
    - TCPDF oder ähnliches
    - eine Art Mailingscript, wo sich die Besucher in eine Art E-Mail-Verteiler ein- und austragen können.

    Ein Framework a la Zend oder Symfony sind mir leider vom Aufbau her überhaupt nicht klar. Ein Eigenbau wäre ggf. möglich, müsste aber viele Räder selbst neu erfinden und bräuchte unendlich mehr Zeit. Contao würde mir ggf. schon einiges abnehmen.

    Was also davon kann mir Contao schon von Haus aus erfüllen und was KANN dazuprogrammiert werden und was def. NICHT bzw. nur sehr schwer?

    Das Ganze wurde bereits von mir schon mal in PHP4 umgesetzt, allerdings vor über 8 Jahren. Jetzt soll das Ganze erneuert werden.
    Mit neuen Sicherheitsstandards (XSS, SQL-Injection), Layout (responsive, mobile-Version), Funktionen (Mailing-Liste) usw.

    Also, das Template-System sollte mir Contao ja bringen. Denke, das kann ich so umsetzen.
    Formulare ggf. erstellen mit EFG?
    Für TCPDF gibts ansch. die tcpdf_ext als Erweiterung.

    Was mir z.B. überhaupt nicht klar ist, ist, wie ich eigene MySQL-Abfragen und die PHP-Befehle drum herum in eine Contao-Seite einarbeiten kann (ohne Sicherheitslücken zu öffnen). An welcher Stelle macht man das und vor allem wie? Evtl. könnte mir hier jemand einen guten Link dazu geben (Tutorial, Video...).

    Was ich z.B. realisieren müsste, wäre: der Besucher geht auf subdomain1.domain.de. Aufgrund von "subdomain1" sollen dann entsprechende Daten aus einer DB-Tabelle oder config-Datei (z.B. subdomain1.config) ausserhalb des Roots abgefragt und in PHP-Variablen gespeichert werden, die ich dann auf der HP bzw. in Templates (als Tags?) einsetzen müsste.
    Ebenso möchte ich z.B. im ersten Formular die Eingaben (ähnlich wie bei einem Login-Script) mit den Daten aus einer DB-Tabelle validieren (passt der Name z.B. zur Straße usw.) und dann entweder einen Fehler ausgeben oder ihn auf die zweite Formular-Seite leiten, die dann schon mit Daten aus der DB-Tabelle gefüllt wird.
    Hoffe, ich hab mich einigermaßen verständlich ausgedrückt.

    Wäre super, wenn mir hier einer (oder auch gerne zwei *g*) sagen könnten, ob und ggf. auch wie ich das mit Contao umsetzen könnte.

    Vielen Dank schon mal...

  2. #2
    Contao-Urgestein Avatar von FloB
    Registriert seit
    19.06.2009.
    Ort
    Sonnensystem
    Beiträge
    1.618

    Standard

    Ein CMS ist per se zu unflexibel für so eine Aufgabe. Du kannst es zwar damit machen, ich empfehle es aber nicht. Also Framework oder Marke Eigenbau. Wenn's PHP sein soll, empfehle ich Symfony, da Contao in Version 4 wahrscheinlich das benutzen wird. Ansonsten die Klassiker: RoR, node.js, Django (Python). Damit machst du nix falsch.
    So long,
    FloB since Nov. 2007 +706P +115P and counting

  3. #3
    Contao-Nutzer
    Registriert seit
    26.10.2012.
    Beiträge
    52

    Standard

    Merci, dass sich einer meiner erbarmt hat. ;-)

    Gut. RoR und Python scheiden eigentlich aus, weil a) die Zeit drängt (nur durch Druck entstehen Diamanten *g*) und b) mich ja schon ein Framework in einer bekannten Sprache (PHP) momentan etwas überfordert.
    Aber wenn Contao später auch mit Symfony geht, werde ich wohl eh früher oder später nicht drum rum kommen, mir das anzueignen.
    Dachte zwar (weil ich die Installation rel. einfach war), dass ich zu Yii tendiere (wenn überhaupt ein Framework), aber gut. Symfony hat ja Twig als Template-Engine.

    Wenn ich aber jetzt schon mal einen Zuhörer habe: die Sache mit der eigenen MySQL-DB interessiert mich aber immer noch für Contao.
    Ich habe mich nun etwas schlau(er) gemacht und gesehen, dass man PHP-Dateien ja über den templates-Ordner mit file:: einbinden kann.
    Wenn ich da z.B. meine lib.php einbinden würde, in der mein mysql-connect-Aufruf inkl. Zugangsdaten steht - mache ich da mehr oder weniger ein Sicherheitsloch auf? Eigentlich würde ich so eine Datei ja ausserhalb des roots setzen, geht aber nicht, weils ja im template-Ordner sein muss.
    Und wie greife ich auf die DB zu? Soll ich eine neue DB neben Contao aufmachen, oder nur eine Tabelle innerhalb der Contao-DB oder die DB über Contao händeln - also dort irgendwo (wo?) in config-Dateien eintragen?
    Der Zugriff würde dann über die Klassen und Methoden von Contao laufen, oder?
    Irgendwie ist mir das nicht ausreichend dokumentiert oder ich finde die passende Doku-Stelle nicht. Aber im Handbuch ist darüber nix zu finden und die API ist etwas oberflächlich finde ich. Wo finde ich denn da etwas mehr "Fleisch" bzw. vielleicht auch ein-zwei Beispiele oder ein Tutorial dazu?

  4. #4
    Contao-Urgestein Avatar von FloB
    Registriert seit
    19.06.2009.
    Ort
    Sonnensystem
    Beiträge
    1.618

    Standard

    Kann dir da jetzt nicht wirklich weiterhelfen, außer: Wenn du (mit der App oder von sonst wo) auf Daten innerhalb von Contao zugreifen möchtest, empfehle ich dir eine API zu bauen. Das kann ganz einfach eine Extension für Contao sein, die ein paar (wenige) definierte Methoden hat, und du dann mit Hilfe von z. B. JSON-RPC mit der Schnittstelle sprichst (geht natürlich auch REST, aber das ist IMHO für einfache Anwendungen meist Overkill). Die Extension kann dann im Hauptverzeichnis eine eigene Einstiegsdatei ablegen (wie die Ajax-Extension von Andreas Schempp(?)), in der der JSON-RPC call geparsed, sanitized (!! – bitte auch auf eine Whitelist von erlaubten Methoden prüfen und niemals direkt Parameter übergeben, sondern immer mindestens durch die Input-Klasse jagen!) und verarbeitet wird – dank RPC kannst du dann einfach einen Methodenaufruf direkt vom call erzeugen und ausführen und dann das Ergebnis zurückgeben.
    So long,
    FloB since Nov. 2007 +706P +115P and counting

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •