m-adamski / phone-number-bundle
Phone Number Bundle for Symfony
Installs: 13
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/m-adamski/phone-number-bundle
Requires
- php: ^7.1
 - giggsey/libphonenumber-for-php: ^8.8
 - symfony/form: ^3.4|^4.1
 - symfony/framework-bundle: ^3.4|^4.1
 - symfony/orm-pack: ^1.0
 - symfony/twig-bundle: ^3.4|^4.1
 - symfony/validator: ^3.4|^4.1
 
This package is auto-updated.
Last update: 2022-02-01 13:13:59 UTC
README
This bundle is deprecated! A new repository has been created to maintain the convention of package names. I suggest using this package.
Custom PhoneNumber Bundle integrating libphonenumber library into Symfony 4 project. This bundle is inspired by PhoneNumberBundle but simplified and created for own projects - of course you can use it if you want.
Installation
Use Composer to install this bundle into Symfony 4 project:
$ composer require m-adamski/symfony-phone-bundle
Configuration
Register new Doctrine Type in config/packages/doctrine.yaml
doctrine:
    dbal:
        types:
            phone_number: Adamski\Symfony\PhoneNumberBundle\Doctrine\DBAL\Types\PhoneNumberType
This Bundle provide type template for Bootstrap 4. Register it in config/packages/twig.yaml
twig:
    form_themes:
        - '@PhoneNumber/Form/phone_number_widget.html.twig'
You can also overwrite default Symfony Bootstrap 4 template by adding - '@PhoneNumber/Form/bootstrap_4_layout.html.twig' into form_themes parameter:
twig:
    form_themes:
        - '@PhoneNumber/Form/bootstrap_4_layout.html.twig'
        - '@PhoneNumber/Form/phone_number_widget.html.twig'
How to use it?
Bundle provide additional Doctrine Type and Form Type. First, edit entity to use PhoneNumber Type:
use Adamski\Symfony\PhoneNumberBundle\Model\PhoneNumber;
use Adamski\Symfony\PhoneNumberBundle\Validator\Constraints\PhoneNumber as AssertPhoneNumber;
/**
 * @var string
 * @AssertPhoneNumber
 * @ORM\Column(name="phone_number", type="phone_number", nullable=true)
 */
protected $phoneNumber;
Now it's time to provide changes in Form Type:
use Adamski\Symfony\PhoneNumberBundle\Form\PhoneNumberType;
public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder->add("phoneNumber", PhoneNumberType::class, [
            "label"     => "Phone number",
            "preferred" => "PL",
            "required"  => false
        ]);
}
License
MIT