dilone/vcard

此 VCard PHP 类可以生成包含一些数据的 vCard。在 iOS 设备上使用时,将导出为 .ics 文件,因为 iOS 设备不支持默认的 .vcf 文件。

dev-master 2020-09-16 14:14 UTC

This package is auto-updated.

Last update: 2024-09-16 22:45:00 UTC


README

此 VCard PHP 类可以生成版本 4.0 的 vCard。.vcf 文件,其中包含一个或多个 vCard。还支持解析。我们的目标是 OOP,因此每个属性都有自己的类。

关于 vCard 4.0 的文档

安装

composer require dilone/vcard

这将使用 Composer 安装 vcard 的 2.0 WIP 开发版本

示例

由于这是一个 WIP,我们建议查看 测试类 来查看多个示例。

基本示例

use Dilone\VCard\VCard;
use Dilone\VCard\Property\Name;
use Dilone\VCard\Formatter\Formatter;
use Dilone\VCard\Formatter\VcfFormatter;

$lastname = "Doe";
$firstname = "Jhon";
$additional = "";
$prefix = "Mr.";
$suffix = "";

$vcard = new VCard();
$vcard->add(new Name($lastname, $firstname, $additional, $prefix, $suffix));

$formatter = new Formatter(new VcfFormatter(), 'vcard-export');
$formatter->addVCard($vcard);
$formatter->download();

属性

标识属性

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

地址属性

  • ADDRESS - 以结构化部分表示的对象的地址

通讯属性

  • TEL - 电话号码(作为 tel URI)
  • EMAIL - 电子邮件地址(作为 mailto URI)
  • IMPP - 即时消息联系人信息
  • LANG - 对象的语言

地理属性

  • TZ - 对象的时区
  • GEO - 对象的地理坐标(geo URI)

组织属性

  • TITLE - 对象的标题
  • ROLE - 对象的角色
  • LOGO - 对象的标志(data URI)
  • ORG - 与对象相关的组织
  • ORGUNIT - 与对象相关的组织单位
  • MEMBER - 仅适用于 Group Kind 对象。必须指向其他 Individual 或 Organization 对象。
  • RELATED - 链接到相关对象。

解释属性

  • CATEGORIES - 对象的类别
  • NOTE - 关于对象的注释
  • PRODID - 创建 vCard 对象的产品的标识符
  • REV - vCard对象的修订日期时间
  • SOUND - 与对象相关的音频(data URI)
  • UID - 对象的唯一标识符
  • CLIENTPIDMAP - 不需要
  • URL - 与对象相关的任何URL
  • VERSION - 4.0版本中是必需的

安全属性

  • KEY - 对象的安全密钥

日历属性

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

文档

类有良好的行内文档。如果您使用了一个不错的IDE,您会看到每个方法都用PHPDoc进行了注释。

贡献

欢迎贡献,并将得到充分认可。

拉取请求

添加或更新代码

  • 编码语法 - 请保持代码语法与包中的其他部分一致。
  • 添加单元测试! - 如果您的补丁没有测试,它不会被接受。
  • 记录任何行为变更 - 确保README和其他相关文档保持最新。
  • 考虑我们的发布周期 - 我们尝试遵循semver。随机破坏公共API不是选项。
  • 创建主题分支 - 不要要求我们从您的master分支中拉取。
  • 每个功能一个拉取请求 - 如果您想做更多的事情,请发送多个拉取请求。
  • 发送连贯的历史记录 - 确保您的拉取请求中的每个提交都是有意义的。如果您在开发过程中不得不进行多个中间提交,请在提交之前将它们压缩。

问题

有关错误报告或代码讨论。

有关如何在help.github.com上使用GitHub的更多信息。

编码语法

我们使用squizlabs/php_codesniffer来维护代码标准。键入以下内容以执行它们

# To view the code errors
vendor/bin/phpcs --standard=psr2 --extensions=php --warning-severity=0 --report=full "src"

# OR to fix the code errors
vendor/bin/phpcbf --standard=psr2 --extensions=php --warning-severity=0 --report=full "src"

阅读有关代码标准的文档

单元测试

我们内置了测试,键入以下内容以执行它们

vendor/bin/phpunit tests

致谢

许可证

该模块根据MIT许可证授权。简而言之,此许可证允许您做任何事,只要版权声明保持存在。