Skip to content

Commit

Permalink
README
Browse files Browse the repository at this point in the history
  • Loading branch information
xificurk committed Jun 10, 2018
1 parent 1b2abf9 commit d3d153f
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions README.md
@@ -0,0 +1,76 @@
Phone number Doctrine type
===========================

[![Build Status](https://travis-ci.org/nepada/phone-number-doctrine.svg?branch=master)](https://travis-ci.org/nepada/phone-number-doctrine)
[![Coverage Status](https://coveralls.io/repos/github/nepada/phone-number-doctrine/badge.svg?branch=master)](https://coveralls.io/github/nepada/phone-number-doctrine?branch=master)
[![Downloads this Month](https://img.shields.io/packagist/dm/nepada/phone-number-doctrine.svg)](https://packagist.org/packages/nepada/phone-number-doctrine)
[![Latest stable](https://img.shields.io/packagist/v/nepada/phone-number-doctrine.svg)](https://packagist.org/packages/nepada/phone-number-doctrine)


Installation
------------

Via Composer:

```sh
$ composer require nepada/phone-number-doctrine
```

Register the type in your bootstrap:
``` php
\Doctrine\DBAL\Types\Type::addType(
\Nepada\PhonNumberDoctrine\PhonNumberType::NAME,
\Nepada\PhonNumberDoctrine\PhonNumberType::class
);
```

In Nette with [kdyby/doctrine](https://github.com/Kdyby/Doctrine) integration, you can register the types in your configuration:
```yaml
doctrine:
types:
phone_number: Nepada\PhoneNumberDoctrine\PhoneNumberType

```


Usage
-----

`PhoneNumberType` maps database value to phone number value object (see [brick/phonenumber](https://github.com/brick/phonenumber) for further details) and back. The phone number is stored using E164 format, i.e. a '+' sign followed by a series of digits comprising the country code and national number.

Example usage in the entity:
``` php
use Doctrine\ORM\Mapping as ORM;
use Brick\PhoneNumber\PhoneNumber;

/**
* @ORM\Entity
* @ORM\Table(name="contacts")
*/
class Contact
{

/**
* @ORM\Column(type="phone_number", nullable=false)
* @var PhoneNumber
*/
private $phoneNumber;

public function getPhoneNumber(): PhoneNumber
{
return $this->phoneNumber;
}

}
```

Example usage in query builder:
```php
$result = $repository->createQueryBuilder('foo')
->select('foo')
->where('foo.phoneNumber = :phoneNumber')
// the parameter value is automatically normalized to +420123456789
->setParameter('phoneNumber', '+420 123 456 789', PhoneNumberType::NAME)
->getQuery()
->getResult()
```

0 comments on commit d3d153f

Please sign in to comment.