PHP讀取4種設定檔(php,ini,yaml,xml)方法總結

來源:互聯網
上載者:User
PHP讀取設定檔(php,ini,yaml,xml)方法

_settings;         foreach ($var as $key) {                   if (!isset($result[$key])) { return false; }                   $result = $result[$key];         }         return $result;        // trigger_error ('Not yet implemented', E_USER_ERROR);//引發一個錯誤       }       function load() {            trigger_error ('Not yet implemented', E_USER_ERROR);       }}/*** 針對PHP的配置,如有設定檔* $file=具體調用:include ('settings.php'); //原始環境假設每個類為單獨的一個類名.php檔案// Load settings (PHP)$settings = new Settings_PHP;$settings->load('config.php');echo 'PHP: ' . $settings->get('db.host') . '';**/Class Settings_PHP Extends Settings {function load ($file) {         if (file_exists($file) == false) { return false; }         // Include file         include ($file);unset($file);   //銷毀指定變數$vars = get_defined_vars(); //返回所有已定義變數的列表,數組,變數包括伺服器等相關變數,//通過foreach吧$file引入的變數給添加到$_settings這個成員數組中去.foreach ($vars as $key => $val) {         if ($key == 'this') continue;         $this->_settings[$key] = $val;}} }//////////////////////讀取INI檔案,主要用到parser_ini_file函數,該函數返回一個數組,如第二個參數為true時則返回多維陣列//////////////////////////////////////////*** ini例子:* [db]name = testhost = localhost調用例子:$settings = new Settings_INI;$settings->load('config.ini');echo 'INI: ' . $settings->get('db.host') . '';**/Class Settings_INI Extends Settings {function load ($file) {         if (file_exists($file) == false) { return false; }         $this->_settings = parse_ini_file ($file, true);}}//////////////////////讀取XML檔案,需要用到XML_PARSER///////////////////////////////////////////////////////////*** XML例子:                                test                   localhost         調用例子:// Load settings (XML)$settings = New Settings_XML;$settings->load('config.xml');echo 'XML: ' . $settings->get('db.host') . '';**/Class Settings_XML Extends Settings {function load ($file) {       if (file_exists($file) == false) { return false; }       /**xmllib.php為PHP XML Library, version 1.2b,相關串連:http://keithdevens.com/software/phpxml       xmllib.php主要特點是把一個數群組轉換成一個xml或吧xml轉換成一個數組       XML_unserialize:把一個xml給轉換 成一個數組       XML_serialize:把一個數群組轉換成一個xml       自PHP5起,simpleXML就很不錯,但還是不支援將xml轉換成數組的功能,所以xmlLIB還是很不錯的.       */       include ('xmllib.php');        $xml = file_get_contents($file);       $data = XML_unserialize($xml);       $this->_settings = $data['settings'];}}//////////////////////////////////讀取YAML格式檔案////////////////////////////////////////////////**使用YAML必須使用到SPYC這個庫,相關連結在http://spyc.sourceforge.net/YAML配置例子:db:   name: test   host: localhost*/Class Settings_YAML Extends Settings {function load ($file) {       if (file_exists($file) == false) { return false; }       include ('spyc.php');       $this->_settings = Spyc::YAMLLoad($file);}}
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.