Home >Backend Development >PHP Tutorial >Yaconf configuration management extension usage example

Yaconf configuration management extension usage example

little bottle
little bottleforward
2019-04-25 16:54:282998browse

This article describes the use examples of Yaconf configuration management extension. It has certain learning value. Interested friends can take a look. I hope it will be helpful to you.

1. Use alone

Create a new configuration file redis.ini in the directory D:\phpStudy\Yaconf , the content is as follows

[base]
parent="yaconf"
children="NULL"
[children:base]
children="set"  

Restart the server and create a new index.php file test

<?php
$redis = \Yaconf::get(&#39;redis&#39;);
print_r($redis);  

Print content

$ php index.php
Hello WorldArray
(
    [base] => Array
        (
            [parent] => yaconf
            [children] => NULL
        )
    [children] => Array
        (
            [parent] => yaconf
            [children] => set
        )
)

2. Framework integration and use (ThinkPHP5.1)

php.ini

[yaconf]
yaconf.directory="/home/www/web/cl_new_pay_dev"
yaconf.check_delay=60

Version 5.1 defaults to payment yaconf

Create a new thinkphp.ini in the project update directory and add the following content (under the cl_new_pay_dev directory)

name="yaconf"
year=2015
features[]="fast"
features.1="light"
features.plus="zero-copy"
features.constant=PHP_VERSION
features.env=${HOME}

Due to the default Yaconf use For multiple configuration files, it is recommended to use the setYaconf method in the project to specify the independent configuration file used by Yaconf, such as

// 建议在应用的公共函数文件中进行设置 common.php
think\facade\Config::setYaconf(&#39;thinkphp&#39;);

(1) Use Assistant function

var_dump(Config::yaconf(&#39;name&#39;));
var_dump(Config::yaconf(&#39;year&#39;));
var_dump(Config::yaconf(&#39;features&#39;)[&#39;plus&#39;]);
var_dump(Config::yaconf(&#39;features.plus&#39;));
var_dump(Config::yaconf(&#39;features.constant&#39;));
var_dump(Config::yaconf(&#39;features.env&#39;));

Print result

string(6) "yaconf"
string(4) "2015"
string(9) "zero-copy"
string(9) "zero-copy"
string(6) "7.2.12"
string(0) ""

(2) Assistant function is not applicable, direct access

print_r("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
print_r(\Yaconf::get("cpay"));
print_r(\Yaconf::get("cpay.common"));
print_r(\Yaconf::get("cpay.database"));
print_r(\Yaconf::get("cpay.redis"));
print_r(\Yaconf::get("cpay.redis.host"));

Print results

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Array
(
    [common] => Array
        (
            [app_name] => 二万OCR
            [app_host] => www.cnblogs.com
            [app_debug] => 1
        )
    [database] => Array
        (
            [app_name] => 二万OCR
            [app_host] => www.cnblogs.com
            [app_debug] => 1
            [hostname] => 127.0.0.1
            [database] => cl_cpay
            [username] => root
            [password] => wang123456,
        )
    [redis] => Array
        (
            [app_name] => 点点支付
            [app_host] => www.cnblogs.com
            [app_debug] => 1
            [host] => 192.168.1.1
            [port] => 6379
            [auth] => 123456
            [prefix] => TII
        )
)
Array
(
    [app_name] => 二万OCR
    [app_host] => www.cnblogs.com
    [app_debug] => 1
)
Array
(
    [app_name] => 二万OCR
    [app_host] => www.cnblogs.com
    [app_debug] => 1
    [hostname] => 127.0.0.1
    [database] => cl_cpay
    [username] => root
    [password] => wang123456,
)
Array
(
    [app_name] => 二万OCR
    [app_host] => www.cnblogs.com
    [app_debug] => 1
    [host] => 192.168.1.1
    [port] => 6379
    [auth] => 123456
    [prefix] => TII
)
192.168.1.1

capy.ini configuration file

[common]
app_name = "二万OCR"
app_host = "www.cnblogs.com"
app_debug= true
[database:common]
hostname = "127.0.0.1"
database = "cl_cpay"
username = "root"
password = "wang123456",
[redis:common]
host = "192.168.1.1"
port = 6379
auth = 123456
prefix = "TII"

Related tutorials:PHP video tutorial

The above is the detailed content of Yaconf configuration management extension usage example. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete