proget-hq / vcard
此 VCard PHP 类可以生成包含一些数据的 vCard 文件。当使用 iOS 设备时,它将导出为 .ics 文件,因为 iOS 设备不支持默认的 .vcf 文件。
v1.7.5
2022-09-29 09:08 UTC
Requires
- php: >=5.3.3
- behat/transliterator: ~1.0
Requires (Dev)
- phpunit/phpunit: 4.6.*
- dev-master
- v1.7.5
- v1.7.4
- v1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- v1.1.2
- 1.1.1
- 1.1.0
- dev-feature/add-namespace
- dev-feature/revert-changes
- dev-2.0.0-dev
- dev-feature/add-url
- dev-feature/add-role
This package is auto-updated.
Last update: 2024-08-29 05:50:51 UTC
README
此 VCard PHP 库可以生成包含一些数据的 vCard 文件。当使用 iOS 设备且版本小于 iOS 8 时,它将导出为 .ics 文件,因为 iOS 设备不支持默认的 .vcf 文件。
注意:我们正在开发一个全新的版本,以支持 vCard 4.0 版本,并具有极好的代码质量。请查看新版本
用法
安装
composer require jeroendesloovere/vcard
这将使用 Composer 安装 vcard 的最新版本
示例
use JeroenDesloovere\VCard\VCard; // define vcard $vcard = new VCard(); // define variables $lastname = 'Desloovere'; $firstname = 'Jeroen'; $additional = ''; $prefix = ''; $suffix = ''; // add personal data $vcard->addName($lastname, $firstname, $additional, $prefix, $suffix); // add work data $vcard->addCompany('Siesqo'); $vcard->addJobtitle('Web Developer'); $vcard->addRole('Data Protection Officer'); $vcard->addEmail('info@jeroendesloovere.be'); $vcard->addPhoneNumber(1234121212, 'PREF;WORK'); $vcard->addPhoneNumber(123456789, 'WORK'); $vcard->addAddress(null, null, 'street', 'worktown', null, 'workpostcode', 'Belgium'); $vcard->addLabel('street, worktown, workpostcode Belgium'); $vcard->addURL('http://www.jeroendesloovere.be'); $vcard->addPhoto(__DIR__ . '/landscape.jpeg'); // return vcard as a string //return $vcard->getOutput(); // return vcard as a download return $vcard->download(); // save vcard on disk //$vcard->setSavePath('/path/to/directory'); //$vcard->save();
解析示例
解析器可以传入一个 VCard 字符串,如下所示
// load VCardParser classes use JeroenDesloovere\VCard\VCardParser; $parser = new VCardParser($vcardString); echo $parser->getCardAtIndex(0)->fullname; // Prints the full name.
或者通过使用一个带有文件名的工厂方法
$parser = VCardParser::parseFromFile('path/to/file.vcf'); echo $parser->getCardAtIndex(0)->fullname; // Prints the full name.
查看解析示例 或查看 VCardParser 类。
框架支持
我创建了一个 Symfony Bundle: VCard Bundle
例如在 Laravel 中的使用
return Response::make( $this->vcard->getOutput(), 200, $this->vcard->getHeaders(true) );
测试
vendor/bin/phpunit tests
文档
类有良好的内联文档。如果你使用一个不错的 IDE,你会看到每个方法都用 PHPDoc 进行了注释。
贡献
贡献是 欢迎 的,并且将得到完全 认可。
拉取请求
用于添加或更新代码
- 编码语法 - 请保持代码语法与包的其他部分一致。
- 添加单元测试! - 如果你的补丁没有测试,则不会被接受。
- 记录任何行为变化 - 确保 README 和任何其他相关文档都保持最新。
- 考虑我们的发布周期 - 我们试图遵循 semver。随机破坏公共 API 不是选项。
- 创建主题分支 - 不要要求我们从你的 master 分支拉取。
- 每个特性一个拉取请求 - 如果你想要做更多的事情,请发送多个拉取请求。
- 发送一致的提交历史 - 确保你的拉取请求中的每个单独的提交都有意义。如果你在开发过程中必须进行多个中间提交,请在提交之前将它们合并。
问题
用于错误报告或代码讨论。
有关如何在 help.github.com 上与 GitHub 合作,请查看更多信息。
致谢
许可证
此模块根据 MIT 许可证授权。简而言之,此许可证允许你做任何事,只要版权声明保持存在。