时下,flash的开发在国内绝对算的上是个大头,虽然国外的编程统计显示ActionScript3.0在20名开外,但在中国绝对能排的上前十名。Adobe收购flash后开发的ActionScript3.0是一门极类似C#和java的语言,上手很快,否和当下OOP的趋势,配合绚丽的flash效果,取得了很多国人的芳心。但是ActionScript毕竟是一门前端脚本,和JavaScript一样它没有直接操作数据库的功能,要想获取数据,只能像后台脚本发送请求。庆幸的是和很多编程语言一样,ActionScript提供了对XML数据的操作类库,于是我们便可以用后台脚本(类似php/jsp/.net)将数据缓存到XML中,让flash去自己读取XML文档数据,这无疑大大降低了数据库服务器的负担。
去年的时候,有幸从事了三个月的flash的开发,后台脚本用的是php。php中数组是一个很灵活的特性,可以构造出类似树形的数据结构。在一般的WEB开发流程中,我们将数据库中的数据取到数组中,然后再进行遍历处理。现在我们要将数据的使用权交给flash,数据的存储的中间过渡体是XML,数据从数据库中取出放到了数组中,那么能不能将数组遍历生成XML的过程封装一下呢?答案当然是肯定的。
下面是源码:
$array = array(
array('name'=>'sun','age'=>23),
array('name'=>'yang','age'=>21)
);
那么$xmlOpr = new Array2xml();
$xmlOpr->transform($array);
将会生成如下XML
接着调用$xmlOpr->saveAs('test.xml');
会将生成的xml对象保存在ROOT/cache目录下。
请从https://github.com/yunnysunny/array2xml 上获取最新的源代码。