Maison  >  Article  >  php教程  >  Tutoriel Zend Framework Analyse de l'utilisation de Zend_Config_Xml

Tutoriel Zend Framework Analyse de l'utilisation de Zend_Config_Xml

高洛峰
高洛峰original
2017-01-06 09:34:481258parcourir

L'exemple de cet article décrit l'utilisation de Zend_Config_Xml dans Zend Framework. Partagez-le avec tout le monde pour référence, comme suit :

Zend_Config_Xml permet aux développeurs de stocker les données de configuration dans un format XML simple et de les lire via la syntaxe des attributs d'objet intégrés.

L'élément racine du fichier XML n'a pas d'importance et peut être nommé arbitrairement. Les éléments XML de niveau supérieur correspondent à des sections de données de configuration.

Le format XML prend en charge l'organisation hiérarchique en incorporant des éléments XML sous les éléments au niveau de la section.

Les éléments XML au niveau feuille correspondent aux valeurs des données de configuration. L'héritage de section est pris en charge via un attribut XML spécial appelé extends, et la valeur correspondante de cet attribut est héritée via la section d'extension

Type de retour

Lire dans Zend_Config_Xml Les données de configuration renvoient toujours une chaîne. . La conversion des données des chaînes vers d'autres types est laissée aux développeurs pour s'adapter à leurs besoins spécifiques.

Exemple : Utilisation de Zend_Config_Xml

Cet exemple illustre l'utilisation de base de Zend_Config_Xml pour charger des données de configuration à partir d'un fichier INI. Dans cet exemple, il existe des données de configuration pour le système de production et le système intermédiaire. Étant donné que les données de configuration du système de développement sont similaires aux données de configuration du système de production, les sections du système de développement héritent des sections du système de production. Dans ce cas, la décision est arbitraire et elle peut être prise dans l’autre sens, la partie système de production héritant de la partie système de développement, bien que cela ne soit pas possible pour des cas plus complexes. Supposons ensuite que les données de configuration suivantes soient contenues dans /path/to/config.xml :

<?xml version="1.0"?>
<configdata>
  <production>
    <webhost>www.example.com</webhost>
    <database>
      <adapter>pdo_mysql</adapter>
      <params>
        <host>db.example.com</host>
        <username>dbuser</username>
        <password>secret</password>
        <dbname>dbname</dbname>
      </params>
    </database>
  </production>
  <staging extends="production">
    <database>
      <params>
        <host>dev.example.com</host>
        <username>devuser</username>
        <password>devsecret</password>
      </params>
    </database>
  </staging>
</configdata>

Ensuite, supposons que le développeur doit récupérer les données de configuration de développement à partir du fichier XML. C'est très simple, il suffit de spécifier le fichier XML et la section du système de développement pour charger les données :

$config = new Zend_Config_Xml(&#39;/path/to/config.xml&#39;, &#39;staging&#39;);
echo $config->database->params->host;  // 输出 "dev.example.com"
echo $config->database->params->dbname; // 输出 "dbname"

Exemple : Utilisez l'attribut tag dans Zend_Config_Xml

Zend_Config_Xml supporte également les deux autres méthodes définit les nœuds dans le fichier de configuration. Ils utilisent tous des propriétés. Étant donné que les attributs extends et value sont des mots-clés réservés (ce dernier est la deuxième façon d'utiliser les attributs), ils ne peuvent pas être utilisés. La première façon d'utiliser les attributs est d'ajouter l'attribut au nœud parent, qui devient lui-même un nœud enfant :

<?xml version="1.0"?>
<configdata>
  <production webhost="www.example.com">
    <database adapter="pdo_mysql">
      <params host="db.example.com" username="dbuser" password="secret" dbname="dbname"/>
    </database>
  </production>
  <staging extends="production">
    <database>
      <params host="dev.example.com" username="devuser" password="devsecret"/>
    </database>
  </staging>
</configdata>

L'autre méthode ne réduit pas non plus la taille du fichier de configuration, mais facilite la maintenance. Facile car vous devez écrire le nom de la balise deux fois. Vous pouvez créer une balise vide qui contient sa valeur dans l'attribut value :

<?xml version="1.0"?>
<configdata>
  <production>
    <webhost>www.example.com</webhost>
    <database>
      <adapter value="pdo_mysql"/>
      <params>
        <host value="db.example.com"/>
        <username value="dbuser"/>
        <password value="secret"/>
        <dbname value="dbname"/>
      </params>
    </database>
  </production>
  <staging extends="production">
    <database>
      <params>
        <host value="dev.example.com"/>
        <username value="devuser"/>
        <password value="devsecret"/>
      </params>
    </database>
  </staging>
</configdata>

J'espère que cet article sera utile à tout le monde dans la programmation PHP basée sur le framework Zend Framework.

Pour plus d'articles liés à l'analyse de l'utilisation du tutoriel Zend Framework Zend_Config_Xml, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn