Zasady działania Dane konfiguracyjne są przekazywane do konstruktora Zend_Config w postaci asocjacyjnej tablicy, która może być wielowymiarowa, po to, aby obsłużyć dane zorganizowane w różny sposób, od prostych po specyficzne. Konkretny adapter posiada funkcjonalność przystosowującą przechowywane dane konfiguracyjne do wygenerowania tablicy asocjacyjnej dla konstruktora Zend_Config. Skrypt użytkownika może przekazać taką tablicę bezpośrednio do konstruktora Zend_Config, nie używając klasy adaptera, since it may be appropriate to do so in certain situations. Each configuration data array value becomes a property of the Zend_Config object. The key is used as the property name. If a value is itself an array, then the resulting object property is created as a new Zend_Config object, loaded with the array data. This occurs recursively, such that a hierarchy of configuration data may be created with any number of levels. Klasa Zend_Config implementuje interfejsy Countable oraz Iterator w celu zapewnienia łatwego dostępu do danych konfiguracyjnych. Dzięki temu można użyć funkcji count() oraz składni PHP takiej jak foreach na obiektach Zend_Config. Domyślnie dane konfiguracyjne dostępne poprzez Zend_Config są tylko do odczytu, i próba przypisania (np., $config->database->host = 'example.com') spowoduje wyrzucenie wyjątku. Te domyślne zachowanie może być zmienione poprzez konstruktor, aby pozwolić na modyfikację wartości danych konfiguracyjnych. Dodatkowo, jeśli modyfikacje są dozwolone, klasa Zend_Config obsługuje usuwanie wartości danych konfiguracyjnych (np. unset($config->database->host);). Jest ważne, aby nie mylić modyfikacji danych konfiguracyjnych w pamięci z zapisywaniem danych konfiguracyjnych do konkretnych środków przechowywania. Narzędzia do tworzenia i modyfikowania danych konfiguracyjnych dla rożnych środków przechowywania są poza zakresem klasy Zend_Config. Są dostępne zewnętrzne rozwiązania open source służące do tworzenia oraz modyfikowania danych konfiguracyjnych dla różnych środków przechowywania. Klasy adapterów dziedziczą z klasy Zend_Config więc wykorzystują ich funkconalność. Rodzina klas Zend_Config pozwala na zorganizowanie danych konfiguracyjnych w sekcje. Obiekty adapterów Zend_Config mogą załadować jedną określoną sekcję, wiele określonych sekcji lub wszystkie sekcje (gdy żadna nie jest określona). Klasy adapterów Zend_Config wspierają model pojedynczego dziedziczenia, w którym jedna sekcja danych konfiguracyjnych może dziedziczyć z innej sekcji. Jest to zapewnione w celu zredukowania lub wyeliminowania potrzeby duplikowania danych konfiguracyjnych z różnych powodów. Sekcja dziedzicząca może nadpisać wartości, które dziedziczy z sekcji rodzica. Tak jak w dziedziczeniu klas PHP, sekcja może dziedziczyć z sekcji rodzica, która może dziedziczyć z innej sekcji rodzica i tak dalej, ale wielokrotne dziedziczenie (np., sekcja C dziedzicząca bezpośrednio z sekcji A oraz B) nie jest obsługiwane. Jeśli masz dwa obiekty Zend_Config, możesz je połączyć w jeden pojedynczy obiekt używając metody merge(). Na przykład, mając obiekt $config oraz $localConfig, możesz dołączyć obiekt $localConfig do $config używając metody $config->merge($localConfig);. Dane z obiektu $localConfig nadpiszą dane o tej samej nazwie znajdujące się w obiekcie $config.