Location: PHPKode > scripts > LanguageSys > languagesys/doc/de/precompile.htm
<html>
 <head>
  <link rel="stylesheet" href="inline.css" />
 </head>
 <body>
  <h1>Vorkompilieren von Sprachdateien</h1>
  <div id="body">
   <h1>Warum vorkompilieren?</h1>
   <p>
    Durch das Vorkompilieren werden alle Daten die nicht benötigt werden entfernt und die Daten werden so arrangiert das sie schneller einlesbar sind.<br />
    Das hat zur folge das die Geschwindigkeit der abarbeitung stark erhöht wird.
   </p>
   <h1>Wann ist Vorkompilieren sinnvoll?</h1>
   <p>
    Vorkompilieren ist immer dann sinnvoll, wenn geschwindigkeit gefragt ist.<br />
    Grundsätzlich ist das Voprkompilieren aber erst dann wirklich notwendig wenn die Sprachdateien
    sehr umfangreich sind, ab ca. 200-300 einträgen. Davor ist normalerweise kein geschwindikeitsunterschied
    bemerkbar (aber messbar!).
   </p>
   <h1>Und so einfach gehts..</h1>
   <p>
    Um eine Sprachdatei vorzukopmpilieren wird von der LanguageSys Klasse eine funktion bereitgestellt, die sich passend
    LanguageSys::compile() nennt. Diese funktion erwartet eine Quelldatei und eine Zieldatei als angaben.<br />
    Die Quelldatei ist die Originaldatei, zum Beispiel de_DE.ini und die Zieldatei die, in die alles ausgegeben werden soll, zum Beispiel de_DE.lng.<br />
    Ein Script zum einfachen Vorkompilieren ist im Download der Klasse enthalten sowei am ende dieser Seite aufgeführt.<br />
    Bei diesem Script solltet ihr darauf achten das genügend rechte zum Lesen/Schreiben der Dateien existieren.<br />
    Nach dem Vorkompilieren der Datei kann diese einfach mit in das Verzeichniss der anderen Sprachdateien getan werden,
    Die LanguageSys klasse zieht dateien mit der endung *.lng automatisch den dateien mit der endung *.ini vor, die
    Originaldatei muss also nicht gelöscht werden - kann aber gelöscht werden.<br />
    Achtung! In einer Vorkompilierten datei sollte nichtsmehr von hand verändert werden! Fehler darin können zu unerwarteten
    folgen führen, das bedeutet dass eine Verschiebung der Sprachelemente die folge sein könnte und somit nicht das gewünscht ergbnis erzielt würde.<br />
    Lieber zweimal kompilieren ;-)<br /> 
   </p>
   <h1>Beispielscript zum Vorkompilieren</h1>
   Hier nochmals der Quellcode des Beispielscriptes zum Vorkompilieren von Sprachdateien:
   <code>
    &lt;?php<br />
    include('LanguageSys.class.php');<br />
    <br />
    $srcfile = './de_DE.ini'; //Quelldatei<br />
    $destfile = './de_DE.lng'; //Zieldatei<br />
    <br />
    $compiler = new LanguageSys();<br />
    if( !$compiler->compile($srcfile, $destfile) )<br />
    {<br />
    &nbsp;&nbsp;die($compiler->last_error());<br />
    }<br />
    <br />
    print "File compiled successfully.\n";<br />
    ?&gt;
   </code>
  </div>
 </body>
</html>
Return current item: LanguageSys