CFPropertyList 类
CFPropertyList是为PHP开发的一个可以实现plist文件的读写增删修改的类。
1.1 plist简单介绍
a): Plist 全称为 Property lists ,是一种用来存储串行化后的对象的文件。plist文件实质上是一种xml文件,通常以明文的xml文件或者以二进制形式的文件存在。
b): 主要元素:
plist 主要有 CFString , CFNumber, CFBoolean, CFDate,CFArray 和CFDictionary六种主要的Core Foundation 。 CFDictionary通常作为xml树的根节点开始写起,数据结构以键值对的形式存在,每个键是一个字符串,值可以使任意的Core Foundation。CFArray是一个可以通过索引访问的对象的有序集合,可以包含任何基本属性列表类型。
c):Core Foundation类型XML标签
Core Foundation类型 | XML标签 |
CFString | <string> |
CFNumber | <real> 或者 <integer> |
CFBoolean | <true /> 或者<false /> |
CFDate | <date> |
CFData | <data> |
CFArray | <array> |
CFDictionary | <dict> |
2.1 CFPropertyList
CFPropertyList运行在任何具有PHP的操作系统和一些标准PHP扩展。
安装说明:https://github.com/TECLIB/CFPropertyList (一个封装得特别好的类)
相关例子和函数用法在github上已经十分详尽,这里我们看一个将文件从plist文件中读取修改并另存的一个例子:
注意要将CFType基础类型的对象添加到CFPropertyList中之后再对xml文件进行保存,否则保存失败,所有文件操作流记得异常处理。在不熟悉CFProperList类的时候,很容易把各属性弄混,导致很多小问题,例如没有add就想将$resultd存为一个xml文件等等,这都是因为不熟悉基本类型犯的错。所以调bug是很考人基本功的,基本功不劳实,调bug很耗费时间。