jessevooges/php-vcard

一个用于创建 vCard 文件的简单 PHP 库

dev-main 2022-09-12 11:18 UTC

This package is auto-updated.

Last update: 2024-09-12 15:32:29 UTC


README

此库可以创建包含一个或多个 vCards 的 .vcf 文件或 .vcf 文件的字符串表示形式。所有 vCard 都以 4.0 版本生成。

用法

<?php

use JesseVooges\PHPvCard\Parsers\VCardParser;
use JesseVooges\PHPvCard\Properties\Email;
use JesseVooges\PHPvCard\Properties\FormattedName;
use JesseVooges\PHPvCard\Properties\Name;
use JesseVooges\PHPvCard\Properties\Organisation;
use JesseVooges\PHPvCard\Properties\Telephone;
use JesseVooges\PHPvCard\Properties\Title;
use JesseVooges\PHPvCard\VCard;

$properties = [
    new Name('Doe', 'John'),
    new Telephone('+1-202-555-0125 '),
    new Organisation('Company', 'Development'),
    new FormattedName('John Doe'),
    new Title('Developer'),
    new Email('email@example.org')
];

$vCard = new VCard($properties);

$vCardParser = new VCardParser($vCard);

//Write to file
$path = __DIR__;

$vCardParser->toFile($path);

//Show string representation
echo $vCardParser->parse();

vCard 属性

  • FN (全名): 对象的全名(作为一个单字符串)。这是唯一的必填属性。
  • N (名称): 以结构化部分表示的对象的名称
  • NICKNAME: 对象的昵称
  • PHOTO
  • BDAY: 对象的出生日期。仅适用于个人
  • ANNIVERSARY: 仅适用于个人
  • GENDER: 仅适用于个人

地址

  • ADDRESS: 对象的地址

通讯

  • TEL: 电话号码
  • EMAIL: 电子邮件地址
  • IMPP: IMPP 即时通讯联系人信息
  • LANG: 对象的语言

地理

  • TZ: 对象的时区
  • GEO: 地理坐标

组织

  • TITLE: 对象的标题
  • ROLE: 对象的角色
  • LOGO: 对象的标志
  • ORG: 与对象相关的组织
  • MEMBER: 只能用于组类型对象。必须指向其他个人或组织对象。
  • RELATED: 链接到相关对象。

说明

  • CATEGORIES: 对象的分类
  • NOTE: 对象的注释
  • PRODID: 创建 vCard 对象的产品标识符
  • REV: vCard 对象的修订日期时间
  • SOUND: 与对象相关的音频
  • UID: 对象的唯一标识符
  • CLIENTPIDMAP: 不需要
  • URL: 与对象相关的任何 URL

安全性

  • KEY: 对象的安全密钥

日历

  • FBURL: 对象的日历忙碌时间
  • CALADURI: 对象的日历请求
  • CALURI: 对象的日历链接

测试

可以通过使用 ./vendor/bin/phpunit --verbose tests 在开发中运行单元测试。