Sowas in der Art würde ich machen.
Naja wenns ne größere Datenbank ist, würde ich die Daten aber auch nicht im Livesystem ändern, sondern die templates lokal generieren und dann die einzelnen sprachspezifischen Templates hochladen. Sodass Für die Spache online gar keine DB benötigt wird.
Naja genau das finde ich nicht, du hast dann im Prinzip für die selben Daten mehrere Tabellen, obwohl diese das selbe speichern.
PHP-Code:
<?php
error_reporting(-1);
class Translation
{
protected $_lang, $_id = null;
public function __construct($lang) {
$this->_lang = in_array($lang, array('de', 'en')) ? $lang : 'de';
}
public function setWhereClause($id) {
$this->_id = $id
}
protected function _getWhere() {
if (null === $this->_id) {
return '';
}
$where = ' WHERE ';
if (is_array($this->_id) {
$where .= 'id IN (' . implode(', ', $this->_id) . ')';
return $where;
}
return ($where . 'id=' . $this->_id);
}
public function getAllTranslation() {
# Ich setzte eine DB-Wrapper mal einfach so voraus
$db->getAll('SELECT value_' . $this->_lang . ' FROM translations' . $this->_getWhere());
}
}
Zitat von da.eXecutoR
Beitrag anzeigen
Kommentar