Andreas Cloos: [PHP, mySQL, Lizenzmodell] einige grundsätzliche Fragen (lang)

Hallo Zusammen,

mein nächstes Projekt steht an. Realisiert werden soll es mittels PHP; HTML, Javascript und einer mySQL-Datenbank zur Speicherung der Daten (klar, was sollte ich mit einer Datenbank auch sonst machen...)

Dazu habe ich mal ein paar Fragen, die ich gerne mit Eurer Hilfe klären würde:

Es soll die Möglichkeit bestehen, daß ein User (nach Anmeldung) zum einen seine Sprache auswählen kann, wobei ich erstmal nur deutsch und englisch anbieten will. Da es keine großen Texte, sondern nur Euin- und Ausgabefelder geben wird hält sich die Anzahl der zu übersetzenden Wörter in Grenzen, daher würde ich für die verschiedenen Sprachen je ein Textfile anlgen (zB deutsch.php und englisch.php) und dort dann die texte als Variablen anlegen und je nach Auswahl des Benutzers das eine oder andere includieren. Die Sprache soll auf der Anmeldeseite bei jeder Anmeldung neu ausgewählt werden.

Außerdem soll der User sich dauerhaft ein Stylesheet auswählen können, welches aber "persistent" unter den userspezifischen Settings in der Datenbank gespeichert bis zur nächsten Anmeldung automatisch wieder gezogen werden soll.

Frage hierzu: Den Username schreibe ich nach erfolgreicher Anmeldung ins Sessionfile, kann ich zusätzliche die Variable für die Sprache und die einmalig aus der DB ausgelesene Stylesheet-Variante auch ins Sessionfile schreiben (damit ich diese Info nur einmal aus der DB ziehen muß)? Macht das Sinn in der Form oder würdet Ihr es anders machen - die Frage bezieht sich auf den "Transport" der Variablen im System.

Wenn ich auf die DB zugreifen will, muß ich zunächst mal ja eine verbindung mit der DB herstellen. macht es Sinn, diese vor jedem Zugriff neu herzustellen und dann wieder abzubauen oder ist es möglich/sinnvoll pro User-Session eine Verbindung herzustellen und zu halten - wie würde die dann wieder abgebaut, wenn der User sich nicht ordnungsgemäß abmeldet? Gar nicht? Per auto-timeout, falls es sowas gibt?

Gibt es irgendwo im Web etwas über modulare Programmierung in der angeführten Umgebung? Also nicht objektorientiert, sondern wirklich modular (quasi die optionale Einbindung von Zusatzkomponenten). Meine bisherige Idee ist es, in eienr Administrationstabelle zu speichern ob das Modul benutzt werden soll oder nicht und dann per if...else das Modul per Include einzubinden, wenn verlangt. Sinnvoll?

Und die letzte Frage, die mir gerade einfällt - wenn ich die Anwendung hinterher veröffentlichen will, unter welche Lizenz stelle ich sie dann bzw. kann ich sie stellen. Ich hätte gerne eine Lizenz, die keine Garantie gibt, Weiterentwicklung ermöglicht, die Anwendung für NPO's gratis zur Verfügung stellt, andere aber dafür zahlen müßten (an eine gemeinnüptzige Organisation) - gibt es ein passendes Lizenzmodell, was ich dafür anwenden kann/darf?

Viele Fragen auf einmal, ich würde mich freuen, wenn ich Antworten bekomme - wenn es ein einfacher Link tut, dann nehme ich den auch gerne...

--
Greetz,
Andreas
  1. Holladiewaldfee,

    Frage hierzu: Den Username schreibe ich nach erfolgreicher Anmeldung ins Sessionfile, kann ich zusätzliche die Variable für die Sprache und die einmalig aus der DB ausgelesene Stylesheet-Variante auch ins Sessionfile schreiben (damit ich diese Info nur einmal aus der DB ziehen muß)?

    Was spricht dagegen? Im Endeffekt steht im Session-File nix anderes als der Inhalt des Arrays $_SESSION - und da kannst Du so ziemlich alles reinschreiben.

    Macht das Sinn in der Form oder würdet Ihr es anders machen - die Frage bezieht sich auf den "Transport" der Variablen im System.

    Passt scho.

    Wenn ich auf die DB zugreifen will, muß ich zunächst mal ja eine verbindung mit der DB herstellen. macht es Sinn, diese vor jedem Zugriff neu herzustellen und dann wieder abzubauen oder ist es möglich/sinnvoll pro User-Session eine Verbindung herzustellen und zu halten - wie würde die dann wieder abgebaut, wenn der User sich nicht ordnungsgemäß abmeldet? Gar nicht? Per auto-timeout, falls es sowas gibt?

    Für sowas gibt persistente Verbindungen: http://www.php.net/manual/en/function.mysql-pconnect.php

    Viele Fragen auf einmal, ich würde mich freuen, wenn ich Antworten bekomme - wenn es ein einfacher Link tut, dann nehme ich den auch gerne...

    Naja, zumindest einen Teil hätten wir mal schon :-)

    Ciao,

    Harry

    --
      Hä? Was? Signatur?! Kann man das essen?