ZF2にもZend\Configが存在します。
読み込む方のZend\Config\Reader、書き込む方のZend\Config\Writerがありますが、正直使い方はZF1と全く一緒なのでパス。
日本語情報が全く存在しない、ZF2で追加されたとおぼしきZend\Config\Processorという謎クラスがあったので触ってみます。
コンフィグの例はいつものダミーです。
"www.example.com"
"WWW.EXAMPLE.COM"
見事に大文字になってしまいました。
Zend\Config\Processorは、コンフィグに対して全体的に処理を行うことができるようです。
Zend\Config\Processor\Filterは、Zend\Filterのインスタンスを渡すことで、該当の処理をコンフィグ全体に設定可能です。
ユーザ入力値を設定として保存する際にZend\Filter\StringTrimを通したり、Zend\Filter\Encryptを使って暗号化して保存したりといった用途が考えられるのではないでしょうか。
などと無理矢理使い道を考えてはみましたが、正直使うことないよな。
読み込む方のZend\Config\Reader、書き込む方のZend\Config\Writerがありますが、正直使い方はZF1と全く一緒なのでパス。
日本語情報が全く存在しない、ZF2で追加されたとおぼしきZend\Config\Processorという謎クラスがあったので触ってみます。
コンフィグの例はいつものダミーです。
<?php
require_once('path/to/channel/vendor/autoload.php');
//例
$conifOption = array(
'webhost' => 'www.example.com',
'database' => array(
'adapter' => 'pdo_mysql',
'params' => array(
'host' => 'db.example.com',
'username' => 'dbuser',
'password' => 'secret',
'dbname' => 'mydatabase'
)
)
);
//Zend\Config
$config = new Zend\Config\Config($conifOption, true);
//表示
print($config->database->params->host);
//大文字にするフィルタ
$processorFilter = new Zend\Config\Processor\Filter(new Zend\Filter\StringToUpper());
//フィルタを通す
$processorFilter->process($config);
//表示
print($config->database->params->host);
結果は、"www.example.com"
"WWW.EXAMPLE.COM"
見事に大文字になってしまいました。
Zend\Config\Processorは、コンフィグに対して全体的に処理を行うことができるようです。
Zend\Config\Processor\Filterは、Zend\Filterのインスタンスを渡すことで、該当の処理をコンフィグ全体に設定可能です。
ユーザ入力値を設定として保存する際にZend\Filter\StringTrimを通したり、Zend\Filter\Encryptを使って暗号化して保存したりといった用途が考えられるのではないでしょうか。
などと無理矢理使い道を考えてはみましたが、正直使うことないよな。
PR