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!
[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.
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]; } }
$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>";