Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:german_ini

Sprachabhängige Konfigurationsdateien

Bereits im Voraus feststehende Werte können in einer Konfigurationsdatei definiert werden. Damit stehen Sie mit nur einer PHP-Codezeile zur weiteren Verwendung als Array zur Verfügung.

Wichtiger Sicherheitshinweis: Anders als bei einer PHP-Datei kann der Inhalt der Konfigurationsdatei von jedem eingesehen werden, der die URL im Browser aufruft. Daher hier auf keinen Fall sensible Daten wie Benutzernamen oder Passwörter definieren!

german.ini
[weekday]
0 = Sonntag
1 = Montag
2 = Dienstag
3 = Mittwoch
4 = Donnerstag
5 = Freitag
6 = Samstag
 
[month]
01 = Januar
02 = Februar
03 = März
04 = April
05 = Mai
06 = Juni
07 = Juli
08 = August
09 = September
10 = Oktober
11 = November
12 = Dezember

Für weitere Sprachen sind dementsprechende Dateien mit dem Dateinamen der jeweiligen Sprache anzulegen.

PHP-Klasse "language"

german.php
class language
{
    private $language = array();
 
    /**
     * calendar constructor.
     * @param string $language
     * @throws Exception
     */
    public function __construct( $language = 'german' )
    {
        $filename = $language . '.ini';
 
        if( file_exists( $filename ) )
        {
            $this->language = parse_ini_file( $filename, true );
        }
        else
       {
            throw new Exception( $filename . ' not found!');
        }
    }
 
    /**
     * @param int $timestamp
     * @return string
     */
    public function getDayOfTheWeek( $timestamp )
    {
        $weekday = date( 'w', $timestamp );
        return $this->language['weekday'][ $weekday];
    }
 
    /**
     * @param int $timestamp
     * @return string
     */
    public function getMonth( $timestamp )
    {
        $month = date( 'm', $timestamp );
        return $this->language['month'][ $month];
    }
}

Anwendungsbeispiel für die Benutzung der PHP-Klasse "language"

$german = new language( 'german' );
 
echo "<ul>";
 
for( $day = 0; $day < 366; $day++ ) // jeden Tag des Jahres anzeigen
{
    $timestamp = strtotime( '01.01.2016 ' .  $day . ' day' );
    $month = $german->getMonth( $timestamp );
    $dayOfTheWeek = $german->getDayOfTheWeek( $timestamp );
    echo "<li>Der " . date( "d.", $timestamp ) . " " . $month . " war ein " . $dayOfTheWeek . "</li>";
}
 
echo "</ul>";

weitere Beispiele (z. B. Kommentare in ini-Dateien

php/german_ini.txt · Zuletzt geändert: 2017/03/02 00:00 (Externe Bearbeitung)