問題:
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上的,為了記錄學習過程而。。。。。。
歡迎指正!