10000 GitHub - RumenDamyanov/php-vcard: A framework-agnostic PHP package to generate vCard files with out-of-the-box support for Laravel and Symfony.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A framework-agnostic PHP package to generate vCard files with out-of-the-box support for Laravel and Symfony.

Notifications You must be signed in to change notification settings

RumenDamyanov/php-vcard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-vcard

Build Status codecov

A framework-agnostic PHP package to generate vCard files (compatible with iPhone, Android, Gmail, iCloud, etc.), with out-of-the-box support for Laravel and Symfony.

Features

  • Generate vCard files as static files or HTTP responses
  • Compatible with major contact managers (iOS, Android, Gmail, iCloud, etc.)
  • Simple, extensible API
  • 100% test coverage with Pest
  • MIT License

Installation

composer require rumenx/php-vcard

Usage

Basic Usage

use rumenx\VCard\VCard;

$vcard = new VCard();
$vcard->addName('Jon', 'Snow');
$vcard->addEmail('jon@example.com');
$vcard->addPhone('+1234567890');
$vcard->addAddress('123 Main St', 'City', 'State', '12345', 'Country');

// Save to file
$vcard->saveToFile('jon_snow.vcf');

// Or get as string
$content = $vcard->toString();

Laravel Example

use Rumenx\PhpVcard\VCard;

// Option 1: Dependency Injection (recommended)
Route::get('/vcard', function (VCard $vcard) {
    $vcard->addName('Arya', 'Stark');
    $vcard->addEmail('arya@example.com');
    $vcard->addPhone('+1987654321');
    return response($vcard->toString(), 200, [
        'Content-Type' => 'text/vcard',
        'Content-Disposition' => 'attachment; filename="arya_stark.vcf"',
    ]);
});

// Option 2: Facade
use VCard;

Route::get('/vcard-facade', function () {
    VCard::addName('Arya', 'Stark');
    VCard::addEmail('arya@example.com');
    VCard::addPhone('+1987654321');
    return response(VCard::toString(), 200, [
        'Content-Type' => 'text/vcard',
        'Content-Disposition' => 'attachment; filename="arya_stark.vcf"',
    ]);
});

Symfony Example

use Rumenx\PhpVcard\VCard;
use Symfony\Component\HttpFoundation\Response;

// ...
$vcard = new VCard();
$vcard->addName('Alice', 'Brown');
$vcard->addEmail('alice@example.com');
$vcard->addPhone('+1122334455');
$response = new Response(
    $vcard->toString(),
    200,
    [
        'Content-Type' => 'text/vcard',
        'Content-Disposition' => 'attachment; filename="alice_brown.vcf"',
    ]
);

Testing

./vendor/bin/pest --coverage

License

This project is licensed under the MIT License.

About

A framework-agnostic PHP package to generate vCard files with out-of-the-box support for Laravel and Symfony.

Topics

Resources

Stars

Watchers

Forks

Languages

0