PHPackages                             ad3n/phone-number-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ad3n/phone-number-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

ad3n/phone-number-bundle
========================

Integrates libphonenumber into your Symfony2-Symfony4 application

1.4(5y ago)08MITPHPPHP &gt;=7.2

Since Oct 10Pushed 5y agoCompare

[ Source](https://github.com/ad3n/phone-number-bundle)[ Packagist](https://packagist.org/packages/ad3n/phone-number-bundle)[ Docs](https://github.com/misd-service-development/phone-number-bundle)[ RSS](/packages/ad3n-phone-number-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (10)Versions (20)Used By (0)

PhoneNumberBundle
=================

[](#phonenumberbundle)

[![Build Status](https://camo.githubusercontent.com/aede1e97bbcc8e43b9706db2dfd5ab7f71b10d34427a2b2d62b2d5cb2bdc5683/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6d6973642d736572766963652d646576656c6f706d656e742f70686f6e652d6e756d6265722d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/misd-service-development/phone-number-bundle)[![Total Downloads](https://camo.githubusercontent.com/bf00753f5074d94776fd614a82095663e56043b6054366ca4575c3fd585a1b2b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6973642f70686f6e652d6e756d6265722d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/misd/phone-number-bundle)[![Downloads per month](https://camo.githubusercontent.com/f9e7621afa2d9e674e36a985751e1909b347f783954b499df111c76109de517d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f6d6973642f70686f6e652d6e756d6265722d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/misd/phone-number-bundle)[![Latest stable version](https://camo.githubusercontent.com/9f099722cf95655ede7bdd5716db83e1fcd8145a449901c01db254079e9e5721/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6973642f70686f6e652d6e756d6265722d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/misd/phone-number-bundle)[![License](https://camo.githubusercontent.com/b53222f72de1c6ec2ea9c5dee655839377cf7399b4068c1c974901af1e8ab8c2/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6973642f70686f6e652d6e756d6265722d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/misd/phone-number-bundle)

This bundle integrates [Google's libphonenumber](https://github.com/googlei18n/libphonenumber) into your Symfony2-Symfony4 application through the [giggsey/libphonenumber-for-php](https://github.com/giggsey/libphonenumber-for-php) port.

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

[](#installation)

1. Use Composer to download the PhoneNumberBundle:

```
        $ composer require misd/phone-number-bundle
```

2. Register the bundle in your application:

```
        // app/AppKernel.php

        public function registerBundles()
        {
            $bundles = array(
                // ...
                new Misd\PhoneNumberBundle\MisdPhoneNumberBundle()
            );
        }
```

Usage
-----

[](#usage)

### Services

[](#services)

The following services are available:

ServiceIDlibphonenumber version`libphonenumber\PhoneNumberUtil``libphonenumber.phone_number_util``libphonenumber\geocoding\PhoneNumberOfflineGeocoder``libphonenumber.phone_number_offline_geocoder`&gt;=5.8.8`libphonenumber\ShortNumberInfo``libphonenumber.short_number_info`&gt;=5.8`libphonenumber\PhoneNumberToCarrierMapper``libphonenumber.phone_number_to_carrier_mapper`&gt;=5.8.8`libphonenumber\PhoneNumberToTimeZonesMapper``libphonenumber.phone_number_to_time_zones_mapper`&gt;=5.8.8So to parse a string into a `libphonenumber\PhoneNumber` object:

```
    $phoneNumber = $container->get('libphonenumber.phone_number_util')->parse($string, PhoneNumberUtil::UNKNOWN_REGION);
```

### Doctrine mapping

[](#doctrine-mapping)

*Requires `doctrine/doctrine-bundle`.*

To persist `libphonenumber\PhoneNumber` objects, add the `Misd\PhoneNumberBundle\Doctrine\DBAL\Types\PhoneNumberType` mapping to your application's config:

```
    // app/config.yml

    doctrine:
        dbal:
            types:
                phone_number: Misd\PhoneNumberBundle\Doctrine\DBAL\Types\PhoneNumberType
```

You can then use the `phone_number` mapping:

```
    /**
     * @ORM\Column(type="phone_number")
     */
    private $phoneNumber;
```

This creates a `varchar(35)` column with a Doctrine mapping comment.

Note that if you're putting the `phone_number` type on an already-existing schema the current values must be converted to the `libphonenumber\PhoneNumberFormat::E164` format.

### Templating

[](#templating)

#### Twig

[](#twig)

##### phone\_number\_format

[](#phone_number_format)

The `phone_number_format` filter can be used to format a phone number object. A `libphonenumber\PhoneNumberFormat` constant can be passed as argument to specify in which format the number should be printed.

For example, to format an object called `myPhoneNumber` in the `libphonenumber\PhoneNumberFormat::NATIONAL` format:

```
    {{ myPhoneNumber|phone_number_format('NATIONAL') }}
```

By default phone numbers are formatted in the `libphonenumber\PhoneNumberFormat::INTERNATIONAL` format.

###### phone\_number\_of\_type

[](#phone_number_of_type)

The `phone_number_of_type` test can be used to check a phone number against a type: A `libphonenumber\PhoneNumberType` constant name must be passed to specify to which type a number has to match.

For example, to check if an object called `myPhoneNumber` is a `libphonenumber\PhoneNumberType::MOBILE` type:

```
    {% if myPhoneNumber is phone_number_of_type('MOBILE') }} %} ... {% endif %}
```

#### PHP template

[](#php-template)

##### format()

[](#format)

The `format()` method in the `phone_number_helper` takes two arguments: a `libphonenumber\PhoneNumber` object and an optional `libphonenumber\PhoneNumberFormat` constant name or value.

For example, to format `$myPhoneNumber` in the `libphonenumber\PhoneNumberFormat::NATIONAL` format, either use:

```
