yaconf
1.0.0
حاوية تكوينات PHP المستمرة
YACONF هي حاوية تكوينات ، فهي تخزن ملفات INI ، وتخزين النتيجة PHP عند بدء تشغيل PHP ، والتكوينات تعيش في دورة حياة PHP بأكملها ، مما يجعلها سريعة للغاية.
Yaconf هو امتداد PECL ، وبالتالي يمكنك ببساطة تثبيته بواسطة:
$pecl install yaconf
أو يمكنك تجميعها بنفسك:
$ /path/to/php7/bin/phpize
$ ./configure --with-php-config=/path/to/php7/bin/php-config
$ make && make install
Path to directory which all ini configuration files are placed in
In which interval Yaconf will detect ini file's change(by directory's mtime),
if it is set to zero, you have to restart php to reloading configurations.
mixed Yaconf:: get (string $ name , mixed $ default = NULL )
bool Yaconf:: has (string $ name )على افتراض أننا نضع جميع ملفات التكوينات في/tmp/yaconf/، وبالتالي أضفنا ذلك إلى php.ini
yaconf.directory=/tmp/yaconf
على افتراض أن هناك ملفان في /tmp /yaconf
foo.ini
name = " yaconf " ; string
year =2015 ; number
features[]= " fast " ; map
features.1 = " light "
features.plus = " zero-copy "
features.constant =PHP_VERSION ; PHP constants
features.env =${HOME} ; Enviorment variablesو Bar.ini
[base]
parent = " yaconf "
children = " NULL "
[children:base] ; inherit from section "base"
children = " set " يتيح استرداد التكوينات من Yaconf
php7 -r ' var_dump(Yaconf::get("foo")); '
/ *
array ( 3 ) {
[ "name" ] = >
string ( 6 ) "yaconf"
[ "year" ] = >
string ( 4 ) "2015"
[ "features" ] = >
array ( 5 ) {
[ 0 ] = >
string ( 4 ) "fast"
[ 1 ] = >
string ( 5 ) "light"
[ "plus" ] = >
string ( 9 ) "zero-copy"
[ "constant" ] = >
string ( 9 ) "7.0.0-dev"
[ "env" ] = >
string ( 16 ) "/home/huixinchen"
}
}
* /كما ترون ، يدعم Yaconf السلسلة والخريطة (المصفوفة) و INI ومتغير ENV و PHP.
يمكنك أيضًا الوصول إلى تكوينات مثل هذا:
php7 -r ' var_dump (Yaconf:: get ( " foo.name " )); '
//string(6) "yaconf"
php7 -r ' var_dump (Yaconf:: get ( " foo.features.1 " )); '
//string(5) "light"
php7 -r ' var_dump (Yaconf:: get ( " foo.features " )[ " plus " ]);'
//string(9) "zero-copy"الآن دعونا نرى الأقسام والأقسام الميراث:
php7 -r ' var_dump(Yaconf::get("bar")); '
/ *
array ( 2 ) {
[ "base" ] = >
array ( 2 ) {
[ "parent" ] = >
string ( 6 ) "yaconf"
[ "children" ] = >
string ( 4 ) "NULL"
}
[ "children" ] = >
array ( 2 ) {
[ "parent" ] = >
string ( 6 ) "yaconf"
[ "children" ] = >
string ( 3 ) "set"
}
}
* /لقد ورث قسم الأطفال القيم في الأقسام الأساسية ، والأطفال قادرون على تجاوز القيم التي يريدونها.