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.3. Zend_Config_Ini

    Zend_Config_Ini pozwala programistom przechowywać dane konfiguracyjne w znanym formacie INI a następnie odczytywać je w aplikacji używając składni zagnieżdżonych właściwości obiektów. Format INI jest wyspecjalizowany aby zapewnić możliwość zachowania hierarchi danych konfiguracyjnych a także możliwość dziedziczenia pomiędzy sekcjami danych konfiguracyjnych. Hierarchia danych konfiguracyjnych jest uzyskiwana poprzez oddzielenie kluczy za pomocą znaku kropki (.). Sekcja może rozszerzać lub dziedziczyć z innej sekcji poprzez dodanie za nazwą sekcji znaku dwukropka (:) oraz nazwy sekcji, z której dane mają być dziedziczone.

    [Notatka] parse_ini_file

    Zend_Config_Ini wykorzystuje funkcję PHP parse_ini_file(). Proszę przejrzyj dokumentację tej funkcji aby znać jej specyficzne zachowania, które dziedziczy Zend_Config_Ini, takie jak to w jaki sposób są obsługiwane specjalne wartości takie jak true, false, yes, no, oraz null.

    [Notatka] Separator kluczy

    Domyślnie separatorem kluczy jest znak kropki (.). Może on być jednak zmieniony przez zmianę klucza 'nestSeparator' z tablicy $options podczas tworzenia obiektu Zend_Config_Ini. Na przykład:

    $options['nestSeparator'] = ':';
    $config = new Zend_Config_Ini('/path/to/config.ini',
                                  
    'staging',
                                  
    $options);

    Przykład 19.3. Użycie Zend_Config_Ini

    Ten przykład pokazuje podstawowe użycie klasy Zend_Config_Ini do ładowania danych konfiguracyjnych z pliku INI. W tym przykładzie znajdują się dane konfiguracyjne zarówno dla systemu produkcyjnego jak i dla systemu rozbudowywanego. Z tego względu, że dane konfiguracyjne systemu rozbudowywanego są bardzo podobne do tych dla systemu produkcyjnego, sekcja systemu rozbudowywanego dziedziczy po sekcji systemu produkcyjnego. W tym przypadku decyzja jest dowolna i mogłoby to być zrobione odwrotnie, z sekcją systemu produkcyjnego dziedziczącą po sekcji systemu rozbudowywanego, chociaż nie może to być przykładem dla bardziej złożonych sytuacji. Załóżmy, że poniższe dane konfiguracyjne znajdują się w pliku /path/to/config.ini:

    Podstawowe dane konfiguracyjne
    [production]
    webhost                  www.example.com
    database
    .adapter         pdo_mysql
    database
    .params.host     db.example.com
    database
    .params.username dbuser
    database
    .params.password secret
    database
    .params.dbname   dbname

    Konfiguracja aplikacji rozbudowywanej dziedziczy z podstawowej
    konfiguracjia niektóre wartości są nadpisywane
    [staging production]
    database.params.host     dev.example.com
    database
    .params.username devuser
    database
    .params.password devsecret

    Następnie załóżmy, że programista aplikacji potrzebuje danych konfiguracyjnych aplikacji rozbudowywanej z pliku INI. Prostą  sprawą jest załadowanie tych danych określając plik INI oraz sekcję dla aplikacji rozbudowywanej:

    $config = new Zend_Config_Ini('/path/to/config.ini''staging');

    echo 
    $config->database->params->host// wyświetla "dev.example.com"
    echo $config->database->params->dbname// wyświetla "dbname"

    [Notatka] Notatka

    Tabela 19.1. Parametry konstruktora Zend_Config_Ini

    Parametr Opis
    $filename Nazwa pliku INI do załadowania.
    $section Nazwa sekcji wewnątrz pliku ini, która ma być załadowana. Ustawienie wartości tego parametru na null spowoduje załadowanie wszystkich sekcji. Alternatywnie, możesz przekazać tablicę nazw sekcji aby załadować wiele sekcji.
    $options = false Tablica opcji. Obsługiwane są poniższe klucze:
    • allowModifications: Ustaw na true aby umożliwić późniejszą modyfikację załadowanego pliku. Domyśłnie false

    • nestSeparator: Ustaw znak jaki ma być użyty do oddzielania przestrzeni nazw. Domyślnie "."


    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...