Web development: Načtení definic z XML
| Zobrazit obsah | Zobrazit komentáře | Zobrazit pouze komentáře
|
V jednom větším projektu používám různé jazykové mutace hlášení, textů, popisků apod. Byl jsem zvyklý používat definic jako v jazyku C/C++ (define). Chtěl jsem ale, aby vše fungovalo lépe a bez potřebné znalosti PHP pro budoucího překladatele. Vše se tedy řeší pomocí XML souboru. Ve funkci pro zpracování XML je použitu simplexml_load_file, což omezuje použití pouze pro PHP 5 a vyšší.
lang_loader()
Následující funkce načítá soubor XML, zpracovává a výtváří konstanty define.
function lang_loader($filename) {
$definitions = simplexml_load_file($filename);
foreach($definitions->definition as $definition) {
$definition_value = iconv("UTF-8", "ISO-8859-2", $definition->value);
eval("define('{$definition->name}', '{$definition_value}');");
}
}
Soubor s jazykovou verzí může vypadat následovně (ukázka jazykového balíčku k sadě funkcí db_sql - vlastní sada funkcí pro práci s MySQL):
<?xml version="1.0" encoding="iso-8859-2" ?>
<definitions>
<definition>
<name>DB_ERROR</name>
<value>Chyba: %s | %s</value>
</definition>
<definition>
<name>DB_CONNECT_ERROR</name>
<value>Chyba spojení s databází: %s | %s</value>
</definition>
<definition>
<name>DB_SELECT_ERROR</name>
<value>Chyba výběru databáze: %s</value>
</definition>
<definition>
<name>DB_QUERY_ERROR</name>
<value>Chyba zpracování dotazu: %s</value>
</definition>
</definitions>
Komentáře k tématu 'Načtení definic z XML' (0 komentářů)
Ještě nebyl vložen žádný komentář. Pro vložení prvního komentáře klikněte zde.
Blog
