Wprowadzenie do Zend Framework

     Nauka Zend Framework

    appendix

     Przewodnik po Zend Framework


  • Zend_Gdata
  • Zend_Http
  • Zend_InfoCard
  • Zend_Json
  • Zend_Layout
  • Zend_Ldap
  • Zend_Loader
  • Zend_Locale
  • Zend_Log
  • Zend_Mail
  • Zend_Markup
  • Zend_Measure
  • Zend_Memory
  • Zend_Mime
  • Zend_Navigation
  • Zend_Oauth
  • Zend_OpenId
  • Zend_Paginator
  • Zend_Pdf
  • Zend_ProgressBar
  • Zend_Queue
  • Zend_Reflection
  • Zend_Registry
  • Zend_Rest

  • Zend_Search_Lucene
  • Zend_Serializer
  • Zend_Server
  • Zend_Service
  • Zend_Session
  • Zend_Soap
  • Zend_Tag
  • Zend_Test
  • Zend_Text
  • Zend_TimeSync
  • Zend_Tool
  • Zend_Tool_Framework
  • Zend_Tool_Project
  • Zend_Translate
  • Zend_Uri
  • Zend_Validate
  • Zend_Version
  • Zend_View
  • Zend_Wildfire
  • Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 21.3% Update 2011-11-16 - Revision 24356 - Version ZF 1.11.x

    19.2. 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);).

    [Notatka] Notatka

    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.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...