Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

eZINI: Einstellungen lesen

Die eZINI-Methoden, die eine Erweiterung verwendet - instance(), variable(), hasVariable(), variableArray(), group(), hasSection() - mit ihren Signaturen, was sie zurückgeben, wenn eine Einstellung fehlt, und der…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-8-reference/ezini.md

On this page

This page is a translation. Read the English original

eZINI: Einstellungen lesen

Teil 8, Referenz 2. eZINI (lib/ezutils/classes/ezini.php) liest INI-Dateien mit allen zusammengeführten Overrides: die Vorgabe in settings/, die settings/ der Erweiterungen, den Siteaccess, settings/override. Wie die Dateien und Geltungsbereiche zusammenwirken, erklären Wie INI-Einstellungen funktionieren und Einstellungen in einer Erweiterung.

Eine Instanz holen

static function instance( $fileName = 'site.ini', $rootDir = 'settings', $useTextCodec = null, $useCache = null,
                          $useLocalOverrides = null, $directAccess = false, $addArrayDefinition = false )

Verwenden Sie immer eZINI::instance( 'myext.ini' ) nur mit dem Dateinamen. Die Instanz wird für den Request geteilt und hat alle Overrides angewendet. Verwenden Sie nicht new eZINI().

Lesen

MethodeGibt zurück
variable( $blockName, $varName )den Wert (eine Zeichenkette oder bei Einstellungen der Form Name[]= ein Array); false und einen Fehler in der Debug-Ausgabe, wenn die Gruppe oder die Einstellung fehlt
hasVariable( $blockName, $varName )true, wenn die Einstellung existiert; verwenden Sie es bei optionalen Einstellungen vor variable()
hasSection( $sectionName ), hasGroup( $blockName )true, wenn der Abschnitt existiert
group( $blockName )alle Einstellungen eines Abschnitts als Array
variableArray( $blockName, $varName )jeden Wert einer Array-Einstellung, an ; in ein Array aufgeteilt
variableMulti( $blockName, $varNames, $signatures = array() )mehrere Einstellungen eines Abschnitts auf einmal
groups()jeden Abschnitt mit seinen Einstellungen

variable() schreibt „Undefined variable: ... in group ...“ in das Fehlerprotokoll, wenn die Einstellung fehlt. Bei einer optionalen Einstellung prüfen Sie zuerst:

<?php
$ini = eZINI::instance( 'myext.ini' );
$limit = $ini->hasVariable( 'ListSettings', 'Limit' ) ? (int)$ini->variable( 'ListSettings', 'Limit' ) : 10;
$enabled = $ini->hasVariable( 'ListSettings', 'Enabled' ) && $ini->variable( 'ListSettings', 'Enabled' ) === 'enabled';
$types = $ini->hasVariable( 'ListSettings', 'Types' ) ? (array)$ini->variable( 'ListSettings', 'Types' ) : array();

Einstellungen sind Zeichenketten: Wandeln Sie Zahlen um, vergleichen Sie Schalter mit der Zeichenkette ('enabled', 'true') und wandeln Sie Arrays um.

Statische Hilfsmethoden

MethodeVerwendung
eZINI::exists( $fileName = "site.ini", $rootDir = "settings" )ob die Datei in diesem Verzeichnis existiert
eZINI::isLoaded( $fileName, ... )ob bereits eine Instanz erzeugt wurde
eZINI::fetchFromFile( $fileName )eine einzelne Datei für sich lesen, ohne Overrides
eZINI::getSiteAccessIni( $siteAccess, $iniFile )die Einstellungen, wie ein anderer Siteaccess sie sieht

Schreiben

Erweiterungen sollten zur Laufzeit keine Einstellungen schreiben. setVariable() ändert die Instanz im Speicher nur für den aktuellen Request. Um gespeicherte Einstellungen zu ändern, verwenden Sie den Konsolenbefehl exp:ini (Der Befehl exp:ini) oder die Einstellungsseiten der Administration; der RAD-Katalog führt „Einstellungen aus Code schreiben“ für den seltenen Fall, der das braucht, als eigenen Erweiterungspunkt.

In Templates

{ezini( 'ListSettings', 'Limit', 'myext.ini' )}
{if ezini_hasvariable( 'ListSettings', 'Limit', 'myext.ini' )} ... {/if}

ezini() verhält sich wie variable(); prüfen Sie optionale Einstellungen zuerst mit ezini_hasvariable().

Caches

Einstellungen werden gecacht. Leeren Sie nach der Änderung einer INI-Datei den INI-Cache: php bin/php/ezcache.php --clear-tag=ini.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x