Charset - (charset.class.php)

new charset() - Object

$string code = null offizieller Code des Zeichensatzes (z. B. 'UTF-8' oder 'ISO-8859-1')
$integer charcount = null maximale Anzahl Bits bzw. Zeichenbreite (z. B. 8)
$array description = null mehrsprachige Beschreibungen als assoziatives Array mit Sprachkürzeln
[
'de' => '...',
'en' => '...'
]
$bool isDefault = false gibt an, ob auf den konfigurierten Standard-Zeichensatz (charset.default) zurückgegriffen wurde
$bool isCharset = false gibt an, ob der Zeichensatz erfolgreich und gültig aufgelöst wurde
__construct ([$mixed $context = null])
$context optional; Zeichensatz-Code (z. B. 'UTF-8'), Suchbegriff für Fuzzy-Suche (z. B. 'utf8'), bestehende charset-Instanz oder null; default ist null
erstellt eine neue charset-Instanz und löst den Zeichensatz über eine mehrstufige Kaskade (Code → Instanz → Fuzzy-Suche → Konfigurations-Standard) auf
$utf8 = new charset('UTF-8');
$fuzzy = new charset('utf8'); // Findet automatisch 'UTF-8'
$default = new charset(); // Greift auf Standard-Zeichensatz zurück
$clone = new charset($utf8); // Übernimmt Werte der Instanz
__get ($string $name)
$name Name der abzufragenden Eigenschaft (code, charcount, description, isDefault, isCharset); Pflicht
schreibgeschützter Zugriff auf die internen Eigenschaften; bei ungültiger Eigenschaft wird ein Fehler protokolliert und null zurückgegeben
$charset = new charset('utf8');
echo $charset->code; // 'UTF-8'
echo $charset->charcount; // 8
__set ($string $name, $mixed $val)
$name Name der Eigenschaft; Pflicht
$val Zuzuweisender Wert; Pflicht
unterbindet das nachträgliche Modifizieren von Eigenschaften (Immutable Pattern); gibt immer false zurück
$charset = new charset('utf8');
$charset->code = 'ISO-8859-1'; // Änderung wird abgelehnt (Rückgabe: false)
__toString ()
gibt den offiziellen Zeichensatz-Code als string zurück; ist kein gültiger Code vorhanden, wird ein leerer String zurückgegeben
$charset = new charset('utf8');
echo $charset; // Ausgabe: UTF-8
__invoke ()
ermöglicht den direkten Aufruf des Objekts als Funktion ($charset()); gibt den Zeichensatz-Code direkt per echo aus und liefert true zurück
$charset = new charset('utf8');
$charset(); // Direkte Ausgabe: UTF-8
__debugInfo ()
liefert ein assoziatives array aller relevanten Objekteigenschaften zur formatierten Darstellung in var_dump() oder print_r()
$charset = new charset('utf8');
var_dump($charset);

Überprüfung

static charset::isCharset ([$mixed $item = null])
$item optional; zu prüfender Wert oder Objekt; default ist null
prüft, ob das übergebene Element eine Instanz von new charset() ist und erfolgreich aufgelöst wurde ($item->isCharset === true); gibt true zurück, andernfalls false
$cs = new charset('utf8');
charset::isCharset($cs); // true
charset::isCharset('UTF-8'); // false (reiner String, keine Instanz)
static charset::isCharsetCode ([$mixed $code = null[, $bool $caseSensitive = false]])
$code optional; zu prüfender Zeichensatz-Code (String oder Zahl); default ist null
$caseSensitive optional; bei true muss die Schreibweise exakt mit der XML-Definition (z. B. 'UTF-8') übereinstimmen; default ist false
prüft, ob ein gegebener Code in der XML-Definitionsliste existiert; gibt true bei Erfolg zurück, andernfalls false
charset::isCharsetCode('utf-8'); // true (case-insensitive)
charset::isCharsetCode('UTF-8'); // true
charset::isCharsetCode('utf-8', true); // false (in XML steht 'UTF-8' großgeschrieben)
charset::isCharsetCode('UTF-8', true); // true

Suche & Auflistung

static charset::getCharsetList ()
parst die XML-Definitionsdatei und gibt die vollständige Liste aller Zeichensätze als assoziatives array (mit kleingeschriebenen Schlüsseln) zurück; im Fehlerfall null
$list = charset::getCharsetList();
// [
// 'utf-8' => [
// 'code' => 'UTF-8',
// 'charcount' => 8,
// 'description' => ['de' => '...', 'en' => '...']
// ],
// ...
// ]