淺談php國際(I18N)以及config包的使用

來源:互聯網
上載者:User

問題:

1.如何解決國際化中一系列的問題,如時間格式、時區、語言以及編碼格式等(i18nv2)。

2.如何讀取xml檔案,以及寫xml檔案等一系列操作(config)。

解決方案:

1,php PEAR官方網站有一些很好用的包,對開發很有協助,其中就有以上兩個問題的解決方案,這個些包預設情況下是不被安裝的,我們需要手動下載這些包,地址是http://pear.php.net/packages.php,

還有一種方法是,通過php自動安裝這些包,進入php安裝目錄運行go-pear.bat檔案,按斷行符號安裝PEAR所需的檔案。

安裝後目錄下會多出包括pear.bat等檔案,然後開啟一個命令列視窗,進入php所在目錄,

輸入命令:pear install config,包名可參照http://pear.php.net/packages.php目錄下的名稱。

安裝完畢後php根目錄下的PEAR下會多出相應的類,

國際化執行個體,

require_once 'I18Nv2/Language.php';

$lang = &new I18Nv2_Language('zh', 'UTF-8');

echo "Italian name for English: ",
    $lang->getName('en'), "/n";

echo "Italian name for French:  ",
    $lang->getName('cn'), "/n";
?>

使用的時候根據需要將訊息檔案添加到i18nv2/language/zh.php(中國)下的數組列表中,

讀取的時候用  $lang->getName('key')讀取文本,

$lang = &new I18Nv2_Language('zh', 'UTF-8');可以設定不同的國家,zh為中國。

2.讀xml檔案樣本(config包xml包)

Example 37-2. Reading configuration from an XML file

<?phprequire_once 'Config.php';$conf = new Config;$root =& $conf->parseConfig('config.xml', 'XML');if (PEAR::isError($root)) {    die('Error while reading configuration: ' . $root->getMessage());}$settings = $root->toArray();printf('User settings: <a href="%s">%s %s</a>',       $settings['root']['conf']['www'],       $settings['root']['conf']['firstname'],       $settings['root']['conf']['lastname']       );?>

In this example the XML file config.xml looks like this:

例子所需的xml檔案

<?xml version="1.0" encoding="UTF-8"?><conf>  <firstname>John</firstname>  <lastname>Doe</lastname>  <www>http://example.com/</www></conf>

不同的版本代碼不盡相同,有興趣的可以取讀讀PEAR源碼,相信對學習PHP有所協助.

項目需要,學習php一個多星期,本不該放到本blog上的,為了記錄學習過程而。。。。。。

歡迎指正!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.