목차
plist介绍
PHP类CFPropertyList
PHP类CFPropertyList 使用方法
php教程 php手册 PHP类CFPropertyList操作Plist文件

PHP类CFPropertyList操作Plist文件

Jun 06, 2016 pm 08:09 PM
php 작동하다 문서

本文主要讲解PHP类CFPropertyList来实现Plist文件的读、写、修改,Plist介绍和PHP Library CFPropertyList的介绍。 plist介绍 Plist的全称是Property lists,是一种用来存储串行化后的对象的文件。属性列表文件的文件扩展名为 .plist ,因此通常被称为 plist

本文主要讲解PHP类CFPropertyList来实现Plist文件的读、写、修改,Plist介绍和PHP Library CFPropertyList的介绍。

plist介绍

Plist的全称是Property lists,是一种用来存储串行化后的对象的文件。属性列表文件的文件扩展名为.plist,因此通常被称为plist文件。Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息。

Plist组织数据到命名值和列表值,主要通过几个主要的Core Foundation类型:CFString, CFNumber, CFBoolean, CFDate, CFData, CFArray, 和 CFDictionary。

Plist结构和内容

Property lists从基本的Core Foundation 类型:CFString,CFNumber,CFBoolean,CFDate,CFData构造。要建立一个复杂的数据结构从这些基本类型,你得把它们放在里面CFDictionary或CFArray里面。为了简化对Property lists的编程,任何属性列表类型也可以被引用通过使用类型CFPropertyListRef。

在一个CFDictionary,数据结构是以键-值对的形式,其中每个键是一个字符串,该键的值可以是一个CFString字符串,一个CFNumber,一个CFBoolean,一个CFDate,一个CFData,一个CFArray,或其他CFDictionary。当使用CFDictionary作为属性列表时,所有的键必须是字符串。

在一个CFArray,数据结构是以一个可以通过索引访问的对象的有序集合。在属性列表中,一个CFArray可以包含任何的基本属性列表类型,以及CFDictionary和其他CFArray的对象。

PROPERTY LIST XML 标签

当属性列表将Core Foundation对象集合转换成一个XML的属性列表,使用文件类型标签来包含所有的属性列表。下表中列出Core Foundation数据类型常用的其他标记:

Core Foundation数据类型等同的XML

Core Foundation类型

XML标签

CFString

CFNumber

或者

CFBoolean

或者

CFDate

CFData

CFArray

CFDictionary

PHP类CFPropertyList

通过PHP来实现苹果Property list,PHP类CFPropertyList不仅可以处理XML PropertyLists,而且也可以处理二进制Property Lists。它提供的功能可以轻松地转换数据到PHP中,例如重新计算时间戳从Unix纪元到苹果纪元,反之亦然。它有一个重大的功能就是从一个正常的PHP数据结构自动地创建为Property List数据结构,它将帮助你输出你的数据到plist中在任何时候。

PHP Plist CFPropertyList PHP类CFPropertyList

运行环境

CFPropertyList不依赖任何“苹果专有的”组件像plutil。 CFPropertyList运行在任何具有PHP的操作系统和一些标准PHP扩展。

虽然您可能希望将数据传送到你的iPhone应用程序,你可能想运行这些服务器端的服务在标准的Linux(甚至Windows)环境作为一种服务,而不是购买昂贵的苹果服务器上。随着CFPropertyList的发展,你现在有能力提供数据从您最喜爱的操作系统。

要求和限制

  • 需要PHP5.3(为CFPropertyList2.0)
  • 需要Mbstring或Iconv PHP扩展

类库列表及功能

  • CFPropertyList.php,CFPropertyList核心处理,包括读、写、修改和保存PropertyList。
  • CFBinaryPropertyList.php,读写二进制格式的Property Lists的工具。从苹果CFBinaryPList.c移植而来。
  • CFType.php,CFPropertyList所使用的所有CFTypes的基础类。
  • CFTypeDetector.php,转换本地PHP的数据结构到CFPropertyList对象的接口。
  • IOException.php,基本输入/ 输出异常。
  • PListException.php,Plist格式的异常错误。

PHP类CFPropertyList 使用方法

从Plist文件中读取数据到PHP数组

/**
* 对于如何使用CFPropertyList例子
* 读取一个XML PropertyList
* @package plist
* @subpackage plist.examples
*/
namespace CFPropertyList;
// 调试
error_reporting( E_ALL );
ini_set( ‘display_errors’, ‘on’ );
/**
* Require CFPropertyList
*/
require_once(__DIR__.’/../classes/CFPropertyList/CFPropertyList.php’);
/*
* 创建一个新的CFPropertyList实例,它构造时装载sample.plist
* 因为我们知道这是一个XML文件,我们可以跳过格式判断
*/
$plist = new CFPropertyList( __DIR__.’/lesson002.plist’, CFPropertyList::FORMAT_XML );
/*
* 从sample.plist获取数组结构并输出
*/
print_r($plist->toArray());
echo ‘

’; <br>var_dump( $plist->toArray() ); <br>echo ‘
로그인 후 복사
’;
?>

通过CFPropertyList plist API将PHP数据写入到Plist文件

/**
* 对于如何使用CFPropertyList例子
* 通过使用CFPropertyList plist API创建PropertyList sample.xml.plist。
* @package plist
* @subpackage plist.examples
*/
namespace CFPropertyList;
// 调试
error_reporting( E_ALL );
ini_set( ‘display_errors’, ‘on’ );
/**
* Require CFPropertyList
*/
require_once(__DIR__.’/../classes/CFPropertyList/CFPropertyList.php’);
/*
* 创建一个新的并没有加载任何内容的CFPropertyList实例
*/
$plist = new CFPropertyList();
/*
* 手动创建sample.xml.plist
*/
// PList的根元素是一个Dictionary
$plist->add( $dict = new CFDictionary() );
// Year Of Birth1965
$dict->add( ‘Year Of Birth’, new CFNumber( 1965 ) );
// Date Of Graduation2004-06-22T19:23:43Z
$dict->add( ‘Date Of Graduation’, new CFDate( gmmktime( 19, 23, 43, 06, 22, 2004 ) ) );
// Pets Names
$dict->add( ‘Pets Names’, new CFArray() );
// PicturePEKBpYGlmYFCPA==
// 为了保持简单,我们插入一个已经base64编码的字符串
$dict->add( ‘Picture’, new CFData( ‘PEKBpYGlmYFCPA==’, true ) );
// City Of BirthSpringfield
$dict->add( ‘City Of Birth’, new CFString( ‘Springfield’ ) );
// NameJohn Doe
$dict->add( ‘Name’, new CFString( ‘John Doe’ ) );
// Kids NamesJohnKyra
$dict->add( ‘Kids Names’, $array = new CFArray() );
$array->add( new CFString( ‘John’ ) );
$array->add( new CFString( ‘Kyra’ ) );
/*
* 保存为 PList 为 XML文件
*/
$plist->saveXML( __DIR__.’/example-create-01.xml.plist’ );
/*
* 保存为 PList 为二进制文件
*/
$plist->saveBinary( __DIR__.’/example-create-01.binary.plist’ );
?>

(...)
Read the rest of PHP类CFPropertyList操作Plist文件 (210 words)


© lixiphp for LixiPHP, 2013. | Permalink | No comment | Add to del.icio.us
Post tags: CFPropertyList, library, PHP, plist, PropertyList, 数据结构

Feed enhanced by Better Feed from Ozh

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

이번 장에서는 라우팅과 관련된 다음과 같은 주제를 학습하겠습니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP 유효성 검사기 만들기 CakePHP 유효성 검사기 만들기 Sep 10, 2024 pm 05:26 PM

컨트롤러에 다음 두 줄을 추가하면 유효성 검사기를 만들 수 있습니다.

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

See all articles