[PHP5] Gewissensfrage: Konstante gegen Variable

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] Gewissensfrage: Konstante gegen Variable

    Da ich momentan an einem (relativ und hoffentlich bald) großen Projekt arbeite, und ich dafür auch mehrere Sprachen unterstützen möchte, stellt sich mir die Frage:

    define('LANG_HELLO', 'Hallo');

    oder

    $lang['hello'] = 'Hallo';


    Ich weiß, dass es wahrscheinlich nicht viel Unterschied machen wird, aber da ich anderen Entwicklern ebenfalls ermöglichen möchte, eigene (Sprach)pakete zu schreiben, ist das schon interessanter.

    Wie handhabt ihr die Geschichte mit mehreren Sprachen? Gibts da wirklich "die Beste" Lösung, was Speicherbedarf, Schnelligkeit und eben auch die Möglichkeit für andere, einfach selbst Erweiterungen zu schreiben betrifft.


    Bin gespannt auf eure Antworten.
    This is what happens when an unstoppable force meets an immovable object.

  • #2
    a) Falsches Forum ;D brainstorm besser aufgehoben.

    b)

    kann ich nur wiedergeben wie ich es mache.
    PHP-Code:
    $sLang "de_DE";
    if ( isset(
    $_REQUEST['lang'])  && in_array($_REQUEST['lang'],$ExistsLang))
        
    $sLang $_REQUEST['lang'];
    define"DISPLAY_LANG"$sLang ); 
    und dann den rest über ein Array ;D oder aus db. oder woher du dir deine Dateien auch immer holst z.b.:

    PHP-Code:
    include("trans/lang_".DISPLAY_LANG.".php");
    $Lang[DISPLAY_LANG]; 
    Usw.
    Bitte Beachten.
    Foren-Regeln
    Danke

    Kommentar


    • #3
      Konstante oder Variablen - die Frage stellt sich ja lediglich hinsichtlich der Ablage der Werte.
      Konstanten wären natürlich vom Einsatzzweck her angebrachter, lassen sich aber weniger flexibel handhaben, da sie keine Array-artigen Strukturen unterstützen.
      Wenn man schon einen dieser beiden Wege verfolgen will - dann wenigstens mit Wyveres' Ansatz, nur das jeweils benötigte "nachzuladen", anstatt sich den Speicher mit den kompletten "Vokabeln" aller Sprachversionen zuzukleistern.

      Anstatt sich da selber was zu basteln, kann man sich natürlich auch mal bereits erprobte Methoden wie bspw. Gettext anschauen.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar

      Lädt...
      X