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

この記事の例では、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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、