<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] > [鳥哥博客](http://www.laruence.com/2015/06/12/3051.html) > [github](https://github.com/laruence/yaconf) ## 概述 1. 它使用單獨的一個配置目錄(在yaconf.directory指定), 不和代碼在一起. 2. 它在PHP啟動的時候, 處理所有的要處理的配置, 然后這些配置就會常駐內存, 隨著PHP的生命周期存亡. 避免了每次請求的時候解析配置文件. 4. 最重要的, 配置目錄和代碼分離以后, 可以借助一個配置管理后臺, 來實現配置的統一化管理. 5. 它支持(對于非ZTS)配置變更重新加載, 也就是說配置如果有變化(建議更改配置一定使用mv, 不要使用cp), 它會reload, 不需要重啟(檢測的頻率由yaconf.check_delay控制). 6. 它支持豐富的配置類型, 包括字符串, 數組, 分節, 分節繼承, 并且還可以在配置中直接寫PHP的常量和環境變量等. ## 安裝 ### pecl `sudo pecl install yaconf` ### 編譯安裝 ``` $ /path/to/php7/bin/phpize $ ./configure --with-php-config=/path/to/php7/bin/php-config $ make && make install ``` ## api ### Yaconf::get `mixed Yaconf::get(string $name, mixed $default = NULL)` 一般來說如果你有一個ini文件叫做foo.ini, 那么$name使用foo的話就會獲取到這個文件內的所有內容, 以數組形式返回. default是當配置不存在的時候返回的默認值. ### Yaconf::has `bool Yaconf::has(string $name)` 這個是檢測一個配置是否存在. ## 運行時配置 ``` [yaconf] ;設置ini 的路徑 yaconf.directory=/Users/idcpj/Web/easyswoole/ini ;如果設置為零,您必須重新啟動php來重新加載配置 yaconf.check_delay=1 ``` ## demo 在 ini 下創建 `foo.ini` ``` name="yaconf" year=2015 ;配置數組 features[]="fast" features.1="light" ;配置 key-value features.plus="zero-copy" ; php 常量 features.constant=PHP_VERSION ;讀取環境變量 features.env=${HOME} [base] parent="yaconf" children="NULL" ;集成 childre 繼承并覆蓋 base [children:base] children="set" ``` ``` Yaconf::get('foo.year'); //2015 Yaconf::get('foo'); /*[ 'name' => 'yaconf', 'year' => '2015', 'features' => [ 0 => 'fast', 1 => 'light', 'plus' => 'zero-copy', 'constant' => '7.1.23', 'env' => '/Users/idcpj', ], 'base' => [ 'parent' => 'yaconf', 'children' => 'NULL', ], 'children' => [ 'parent' => 'yaconf', 'children' => 'set', ], ]*/ ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看