|
问题:
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
<?php
require_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上的,为了记录学习过程而。。。。。。
欢迎指正! |
|
|