ホームページ  >  記事  >  php教程  >  Zend Framework 入門チュートリアル: Zend_Config コンポーネントの使用法の詳細な説明

Zend Framework 入門チュートリアル: Zend_Config コンポーネントの使用法の詳細な説明

高洛峰
高洛峰オリジナル
2017-01-05 10:33:291205ブラウズ

この記事の例では、Zend Framework での Zend_Config コンポーネントの使用法について説明します。参考として、次のように全員と共有します。

1. PHP 配列からデータを読み取る

Zend_Config_Ini (ini 構成ファイルを読み取る) を使用する
Zend_Config_Xml (XML 構成ファイルを読み取る)

ケース:

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Config&#39;);
$array = array(
  &#39;webhost&#39; => &#39;127.0.0.1&#39;,
  &#39;database&#39;=>array(
    &#39;db_host&#39;=>&#39;localhost&#39;,
    &#39;db_user&#39;=>&#39;root&#39;,
    &#39;db_pass&#39;=>&#39;123&#39;,
    &#39;db_name&#39;=>&#39;test&#39;
    )
  );
$config = new Zend_Config($array);
echo "Web服务器地址为:";
echo $config->webhost;
echo "<p>";
echo "数据库服务器名称为:";
echo $config->database->db_host;
echo "<p>";
echo "数据库用户名为:";
echo $config->database->db_user;
echo "<p>";
echo "数据库密码为:";
echo $config->database->db_pass;
echo "<p>";
echo "数据库名称为:";
echo $config->database->db_name;
echo "<p>";

結果:

Web サーバーのアドレス: 127.0.0.1
データベース サーバー名: localhost
データベース ユーザー名: root
データベース パスワード: 123
データベース名: test

説明:

Zend_Config クラスを初期化するとき、データ配列内の は、直接 $config オブジェクトの属性値になります。

2. PHP設定ファイルからデータを読み取る

ケース:

(1) まず設定ファイルで、コードは次のとおりです。

<?php
return array(
  &#39;webhost&#39; => &#39;127.0.0.1&#39;,
  &#39;database&#39; => array(
    &#39;db_host&#39; => &#39;localhost&#39;,
    &#39;db_user&#39; => &#39;root&#39;,
    &#39;db_pass&#39; => &#39;123&#39;,
    &#39;db_name&#39; => &#39;test&#39;
    )
);

(2) 設定を読み取るPHPファイルを作成します。コードは次のとおりです。

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Config&#39;);
$filename = &#39;config.php&#39;;            //定义配置文件名
$config = new Zend_Config(require $filename);  //为类实例化对象
echo "Web服务器地址为:";
echo $config->webhost;
echo "<p>";
echo "数据库服务器名称为:";
echo $config->database->db_host;
echo "<p>";
echo "数据库用户名为:";
echo $config->database->db_user;
echo "<p>";
echo "数据库密码为:";
echo $config->database->db_pass;
echo "<p>";
echo "数据库名称为:";
echo $config->database->db_name;
echo "<p>";

説明: 今回は読み取りデータが php ファイルから取得されることを除いて、結果は前と同じです。一般に必要な構成情報は、データベース名、ユーザー名、パスワードなどです。

3. ini ファイルからデータを読み取る

Zend_Config コンポーネントのサブクラス Zend_Config_Ini を使用すると、ini 設定ファイルからデータを読み取ることができます。

ケース:

(1) 読み込む内容のini設定ファイルを作成します。コードは次のとおりです。

[database]
hostname = localhost
database.type = mysql
database.host = localhost
database.user = root
database.pass = 123
database.name = test_ini

config.iniとして保存します

(2) 設定ファイルの内容を読み込むPHPファイルを作成します コードは以下の通りです。

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Config_Ini&#39;);
$filename = &#39;config.ini&#39;;            //定义配置文件名
$config = new Zend_Config_Ini($filename,&#39;database&#39;);  //为类实例化对象
echo "数据库服务器名称为:";
echo $config->hostname;
echo "<p>";
echo "数据库类型为:";
echo $config->database->type;
echo "<p>";
echo "数据库用户名为:";
echo $config->database->user;
echo "<p>";
echo "数据库密码为:";
echo $config->database->pass;
echo "<p>";
echo "数据库名称为:";
echo $config->database->name;
echo "<p>";

注: オブジェクトをインスタンス化した後、対応するパラメーターを指定すると、構成ファイル内の情報を使用できるようになります。

結果は次のようになります:

データベースサーバー名は: localhost
データベースタイプは: mysql
データベースユーザー名は: root
データベースパスワードは: 123
データベース名は: test_ini

4.ini を呼び出します。配列の形式で読み取る送信データ

は、変換を実現するために toArray() メソッドを使用します

ケース:

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Config_Ini&#39;);
$filename = &#39;config.ini&#39;;            //定义配置文件名
$config = new Zend_Config_Ini($filename,&#39;database&#39;);  //为类实例化对象
$temp = $config->database->toArray();      //使得其中一个属性的数据转为数组,并将数据赋给变量$temp
echo "数据库类型为:";
echo $temp[type];
echo "<p>";
echo "数据库用户名为:";
echo $temp[user];
echo "<p>";
echo "数据库密码为:";
echo $temp[pass];
echo "<p>";
echo "数据库名称为:";
echo $temp[name];
echo "<p>";

結果:

データベースの種類: mysql
データベースのユーザー名: root
データベースのパスワードは: 123
データベース名は:test_ini

5. XML 構成ファイルからデータを読み取ります

サブクラス Zend_Config_Xml によって実装
ルート要素トップ要素
セクションレベル要素セクション要素
リーフ要素リーフ要素

Case:

(1) ) XMLファイル

<?xml version = &#39;1.0&#39;?>
<config>
  <production>
    <webhost>127.0.0.1</webhost>
    <database>
      <type>pdo_mysql</type>
      <host>localhost</host>
      <username>db_user</username>
      <password>db_pass</password>
      <name>test</name>
    </database>
  </production>
  <stag extends="production">
    <database>
      <host>localhost</host>
      <username>db_user</username>
      <password>db_pass</password>
    </database>
  </stag>
</config>

を作成します

の名前はconfig.xml

(2) XMLファイルのデータを読み取るPHPファイルを作成します。コードは次のとおりです。

<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass(&#39;Zend_Config_Xml&#39;);
$filename = &#39;config.xml&#39;;            //定义配置文件名
$section = "stag";                //定义需要加载的节名
$config = new Zend_Config_Xml($filename,$section);  //为类实例化对象
echo "服务器地址为:";
echo $config->webhost;
echo "<p>";
echo "数据库类型为:";
echo $config->database->type;
echo "<p>";
echo "数据库用户名为:";
echo $config->database->username;
echo "<p>";
echo "数据库密码为:";
echo $config->database->password;
echo "<p>";

結果:

サーバーアドレス: 127.0.0.1
データベースタイプ: pdo_mysql
データベースユーザー名: db_user
データベースパスワード: db_pass

この記事が Zend に基づいた皆様のお役に立てば幸いですフレームワーク PHP プログラミングが役に立ちます。

Zend Framework 入門チュートリアルの Zend_Config コンポーネントの使用法に関する詳細な説明については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。