PHP version of Google's phone number handling library

Last update: Jun 26, 2022

libphonenumber for PHP Build Status Coverage Status

Total Downloads Downloads per month Latest Stable Version License

What is it?

A PHP library for parsing, formatting, storing and validating international phone numbers. This library is based on Google's libphonenumber.

Installation

PHP versions 5.3 up to PHP 8.0 are currently supported.

The PECL mbstring extension is required.

It is recommended to use composer to install the library.

$ composer require giggsey/libphonenumber-for-php

You can also use any other PSR-4 compliant autoloader.

If you do not use composer, ensure that you also load any dependencies that this project has, such as giggsey/locale.

Documentation

Online Demo

An online demo is available, and the source can be found at giggsey/libphonenumber-example.

Highlights of functionality

  • Parsing/formatting/validating phone numbers for all countries/regions of the world.
  • getNumberType - gets the type of the number based on the number itself; able to distinguish Fixed-line, Mobile, Toll-free, Premium Rate, Shared Cost, VoIP and Personal Numbers (whenever feasible).
  • isNumberMatch - gets a confidence level on whether two numbers could be the same.
  • getExampleNumber/getExampleNumberByType - provides valid example numbers for all countries/regions, with the option of specifying which type of example phone number is needed.
  • isValidNumber - full validation of a phone number for a region using length and prefix information.
  • PhoneNumberOfflineGeocoder - provides geographical information related to a phone number.
  • PhoneNumberToTimeZonesMapper - provides timezone information related to a phone number.
  • PhoneNumberToCarrierMapper - provides carrier information related to a phone number.

Versioning

This library will try to follow the same version numbers as Google. There could be additional releases where needed to fix critical issues that can not wait until the next release from Google.

This does mean that this project may not follow Semantic Versioning, but instead Google's version policy. As a result, jumps in major versions may not actually contain any backwards incompatible changes. Please read the release notes for such releases.

Google try to release their versions according to Semantic Versioning, as laid out of in their Versioning Guide.

Quick Examples

Let's say you have a string representing a phone number from Switzerland. This is how you parse/normalize it into a PhoneNumber object:

$swissNumberStr = "044 668 18 00";
$phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
try {
    $swissNumberProto = $phoneUtil->parse($swissNumberStr, "CH");
    var_dump($swissNumberProto);
} catch (\libphonenumber\NumberParseException $e) {
    var_dump($e);
}

At this point, swissNumberProto contains:

class libphonenumber\PhoneNumber#9 (7) {
 private $countryCode =>
  int(41)
 private $nationalNumber =>
  double(446681800)
 private $extension =>
  NULL
 private $italianLeadingZero =>
  NULL
 private $rawInput =>
  NULL
 private $countryCodeSource =>
  NULL
 private $preferredDomesticCarrierCode =>
  NULL
}

Now let us validate whether the number is valid:

$isValid = $phoneUtil->isValidNumber($swissNumberProto);
var_dump($isValid); // true

There are a few formats supported by the formatting method, as illustrated below:

// Produces "+41446681800"
echo $phoneUtil->format($swissNumberProto, \libphonenumber\PhoneNumberFormat::E164);

// Produces "044 668 18 00"
echo $phoneUtil->format($swissNumberProto, \libphonenumber\PhoneNumberFormat::NATIONAL);

// Produces "+41 44 668 18 00"
echo $phoneUtil->format($swissNumberProto, \libphonenumber\PhoneNumberFormat::INTERNATIONAL);

You could also choose to format the number in the way it is dialled from another country:

// Produces "011 41 44 668 1800", the number when it is dialled in the United States.
echo $phoneUtil->formatOutOfCountryCallingNumber($swissNumberProto, "US");

// Produces "00 41 44 668 18 00", the number when it is dialled in Great Britain.
echo $phoneUtil->formatOutOfCountryCallingNumber($swissNumberProto, "GB");

Geocoder

$phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();

$swissNumberProto = $phoneUtil->parse("044 668 18 00", "CH");
$usNumberProto = $phoneUtil->parse("+1 650 253 0000", "US");
$gbNumberProto = $phoneUtil->parse("0161 496 0000", "GB");

$geocoder = \libphonenumber\geocoding\PhoneNumberOfflineGeocoder::getInstance();

// Outputs "Zurich"
echo $geocoder->getDescriptionForNumber($swissNumberProto, "en_US");

// Outputs "Zürich"
echo $geocoder->getDescriptionForNumber($swissNumberProto, "de_DE");

// Outputs "Zurigo"
echo $geocoder->getDescriptionForNumber($swissNumberProto, "it_IT");

// Outputs "Mountain View, CA"
echo $geocoder->getDescriptionForNumber($usNumberProto, "en_US");

// Outputs "Mountain View, CA"
echo $geocoder->getDescriptionForNumber($usNumberProto, "de_DE");

// Outputs "미국" (Korean for United States)
echo $geocoder->getDescriptionForNumber($usNumberProto, "ko-KR");

// Outputs "Manchester"
echo $geocoder->getDescriptionForNumber($gbNumberProto, "en_GB");

// Outputs "영국" (Korean for United Kingdom)
echo $geocoder->getDescriptionForNumber($gbNumberProto, "ko-KR");

ShortNumberInfo

$shortNumberInfo = \libphonenumber\ShortNumberInfo::getInstance();

// true
var_dump($shortNumberInfo->isEmergencyNumber("999", "GB"));

// true
var_dump($shortNumberInfo->connectsToEmergencyNumber("999", "GB"));

// false
var_dump($shortNumberInfo->connectsToEmergencyNumber("911", "GB"));

// true
var_dump($shortNumberInfo->isEmergencyNumber("911", "US"));

// true
var_dump($shortNumberInfo->connectsToEmergencyNumber("911", "US"));

// false
var_dump($shortNumberInfo->isEmergencyNumber("911123", "US"));

// true
var_dump($shortNumberInfo->connectsToEmergencyNumber("911123", "US"));

Mapping Phone Numbers to carrier

$phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
$swissNumberProto = $phoneUtil->parse("798765432", "CH");

$carrierMapper = \libphonenumber\PhoneNumberToCarrierMapper::getInstance();
// Outputs "Swisscom"
echo $carrierMapper->getNameForNumber($swissNumberProto, "en");

Mapping Phone Numbers to TimeZones

$phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
$swissNumberProto = $phoneUtil->parse("798765432", "CH");

$timeZoneMapper = \libphonenumber\PhoneNumberToTimeZonesMapper::getInstance();
// returns array("Europe/Zurich")
$timeZones = $timeZoneMapper->getTimeZonesForNumber($swissNumberProto);

FAQ

Problems with Invalid Numbers?

This library uses phone number metadata from Google's libphonenumber. If this library is working as intended, it should provide the same result as the Java version of Google's project.

If you believe that a phone number is returning an incorrect result, first test it with libphonenumber via their Online Demo. If that returns the same result as this project, and you feel it is in error, raise it as an Issue with the libphonenumber project.

If Google's Online Demo gives a different result to the libphonenumber-for-php demo, then please raise an Issue here.

Generating data

Generating the data is not normally needed, as this repository will generally always have the up to data metadata.

If you do need to generate the data, the commands are provided by Phing. Ensure you have all the dev composer dependencies installed, then run

$ vendor/bin/phing compile

This compile process clones the libphonenumber project at the version specified in METADATA-VERSION.txt.

Running tests

This project uses PHPUnit Bridge to maintain compatibility for the supported PHP versions.

To run the tests locally, run the ./phpunit script.

Integration with frameworks

Other packages exist that integrate libphonenumber-for-php into frameworks.

Framework Packages
Symfony PhoneNumberBundle
Laravel Laravel Phone
Yii2 PhoneInput
Kohana PhoneNumber
TYPO3 TYPO3 Phone Extension

These packages are supplied by third parties, and their quality can not be guaranteed.

GitHub

https://github.com/giggsey/libphonenumber-for-php
Comments
  • 1. iranian phone number not valid?

    https://mobilebnk.com/hamrahe-aval/

    phone number like +98993XXXXXXX and +98994XXXXXXX should be valid. and this libraray say this number is not valid: +989934XXXXXX

    All number start with +98994XXXXXXX +98993XXXXXXX should be valid.

    Reviewed by hooman-mirghasemi at 2021-07-24 10:19
  • 2. The problem with the Chinese phone numbers.

    Hello everybody. I get some problems with en/86.php. This file is too big compare with others (4,8Mb). So, I must spend big amount of valuable memory (almost 75Mb) when use geocoding for Chinese phone numbers. When I add necessary size of memory by ini_set (although it is not good) I anyway get problems with geocoding some numbers. For example I try use geocoding for 86-157-9662-1289. Actualy there is no such number and I should get empty result, instead I get fatal error, because it is need even more memory. Why that, I don't no. Anybody knows how to resolve this problem with memory wasting? May be should split the file 86.php into smaller files. Please, help me.

    Reviewed by olegsklyarov72 at 2014-09-26 11:13
  • 3. Unable to parse number with leading zero in phone number

    When I tried to parse +22505855515, I get following result

    PhoneNumber {#255
      #countryCode: 225
      #nationalNumber: "5855515"
      #extension: null
      #italianLeadingZero: true
      #rawInput: null
      #countryCodeSource: 4
      #preferredDomesticCarrierCode: null
      #hasNumberOfLeadingZeros: false
      #numberOfLeadingZeros: 1
    }
    

    In above result Leading zero is removed... If I use numberOfLeadingZeros then this is causing issue for other numbers.

    Reviewed by sujit-baniya at 2020-01-07 17:48
  • 4. PHP keyword static used as a new object

    My ide or Adobe CS5.5 Dreamweaver indicating the following line consists of an error: See package: /libphonenumber-for-php/src/PhoneNumberToCarrierMapper.php Line 51 , “static::$instance[$mappingDir] = new static($mappingDir);” Is that meant to be, or is it a bug?

    Reviewed by rocbar at 2017-05-12 18:45
  • 5. Use giggsey/Locale instead of relying on the intl extension

    Remove the dependency on the intl extension, and instead use giggsey/Locale which has the latest CLDR data.

    It's a separate project so that they can be updated independently (CLDR releases seem to happen twice a year, libphonenumber releases about every month).

    There have been suggestions in the past to use symfony/intl, but this only provides English data.

    References: #43, #45, #46 (18 months later than originally planned).

    Todo:

    • [ ] Tidy up giggsey/Locale (README etc.) and tag a stable release
    • [ ] Decide what version this should be introduced in? Should this count as BC breaking?
    Reviewed by giggsey at 2016-06-26 20:05
  • 6. Getting empty object

            $phoneNumberUtil = \libphonenumber\PhoneNumberUtil::getInstance();
            $phoneNumberObject = $phoneNumberUtil->parse('0117 496 0123', 'GB');
    
            return $phoneNumberObject;
    

    I always getting a empty object.

    Reviewed by ghost at 2016-10-02 15:07
  • 7. A way to get area/carrier code and phone number by themselves

    Hi, There is \libphonenumber\PhoneNumber::getCountryCode() for retrieving country codes, but no such methods for area/carrier code or the number itself (without country and carrier codes). Are there any other ways to accomplish that?

    Reviewed by ArtemGordinsky at 2015-05-21 12:20
  • 8. Missing leading zero CI national phone number ?

    Hello, We are experiencing a problem with Ivory Coast mobile numbers. The leading zero is required for both national and international dialing and this is correctly handled by the library when using the format() method. Don't you think that in such a situation, the number returned by the getNationalNumber() method should include the leading zero? (which is not currently the case). Example: https://giggsey.com/libphonenumber/index.php?phonenumber=0789881234&country=CI Many thanks in advance for your reply.

    Reviewed by Fly06-Fr at 2022-03-03 16:21
  • 9. [Help] How to invalidate number

    Hi!

    I am probably doing something wrong, but I have issue to in/validate phone numbers.

    Here is a short example:

    function tphValidate($p)
    {
    	$phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
    	$phoneInfo = $phoneUtil->parse($p, null);
    	$isValid = $phoneUtil->isValidNumber($phoneInfo);
    	return $isValid;
    }
    

    Will return "1" if the supplied $p is a valid E164 phone number, but won't return anything is $p is something else. What should I do to get a false?

    Many thanks for your help.

    Reviewed by MrNonoss at 2021-10-20 13:09
  • 10. +3371700**** This number showing invalid inspite of being a valid number

    Hello Team,

    we updated to latest tag 8.12.19, still +3371700**** This number showing invalid inspite of being a valid number.

    https://giggsey.com/libphonenumber/index.php?phonenumber=%2B33+717001974&country=FR&language=&region=

    Reviewed by VivekBisht21 at 2021-03-12 07:18
  • 11. getAsYouTypeFormatter missing

    Hello ! I saw that the getAsYouTypeFormatter functionality is missing from your package. :( It is present it the official Google library (v7.1.0).

    Can you please implement it?

    I am refering to this: Formatting Phone Numbers 'as you type'

    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("US"); System.out.println(formatter.inputDigit('6')); // Outputs "6" ... // Input more digits System.out.println(formatter.inputDigit('3')); // Now outputs "650 253"

    Reviewed by vladrusu at 2015-10-24 21:58
  • 12. isValidNumber french number in dom-tom

    Hello,

    The french cell phone number is refused although it is valid. This phone number comes from a french dom-tom.

    Method: isValidNumber Phone number: 0690335941 Country code: FR Test page: https://giggsey.com/libphonenumber/?phonenumber=0690335941&country=FR&language=&region=

    Thank you in advance for your help.

    Reviewed by zemouri at 2022-06-29 16:36
  • 13. tests failing with `phpunit` - fatal error for syntax issues?

    Hello,

    I know one should use ./phpunit (hence simple-phpunit) for the tests, but actually I don't have the possibility to use it, so I run the tests by executing phpunit. I can't use simple-phpunit because that script it is not packaged in Debian and it is likely it won't be. I need to run the test because I'm trying to package your lib into an official Debian package, and we are strongly advised to run upstream's test suite in the package.

    Running phpunit returns this error

    PHP Fatal error:  Declaration of libphonenumber\Tests\Issues\CodeCoverageTest::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void in php-giggsey-libphonenumber/tests/Issues/CodeCoverageTest.php on line 16
    PHP Stack trace:
    PHP   1. {main}() /usr/bin/phpunit:0
    PHP   2. PHPUnit\TextUI\Command::main($exit = *uninitialized*) /usr/bin/phpunit:42
    PHP   3. PHPUnit\TextUI\Command->run($argv = [0 => '/usr/bin/phpunit'], $exit = TRUE) /usr/share/php/PHPUnit/TextUI/Command.php:95
    PHP   4. PHPUnit\TextUI\Command->handleArguments($argv = [0 => '/usr/bin/phpunit']) /usr/share/php/PHPUnit/TextUI/Command.php:110
    PHP   5. PHPUnit\TextUI\TestSuiteMapper->map($configuration = class PHPUnit\TextUI\XmlConfiguration\TestSuiteCollection { private $testSuites = [0 => class PHPUnit\TextUI\XmlConfiguration\TestSuite { ... }] }, $filter = '') /usr/share/php/PHPUnit/TextUI/Command.php:389
    PHP   6. PHPUnit\Framework\TestSuite->addTestFiles($fileNames = [0 => 'php-giggsey-libphonenumber/tests/Issues/CodeCoverageTest.php', 1 => 'php-giggsey-libphonenumber/tests/Issues/Issue106Test.php', 2 => 'php-giggsey-libphonenumber/tests/Issues/Issue135Test.php', 3 => 'php-giggsey-libphonenumber/tests/Issues/Issue14Test.php', 4 => 'php-giggsey-libphonenumber/tests/Issues/Issue152Test.php', 5 => 'php-giggsey-libphonenumber/tests/Issues/Issue159Test.php', 6 => 'php-giggsey-libphonenumber/tests/Issues/Issue175Test.php', 7 => 'php-giggsey-libphonenumber/tests/Issues/Issue17Test.php', 8 => 'php-giggsey-libphonenumber/tests/Issues/Issue21Test.php', 9 => 'php-giggsey-libphonenumber/tests/Issues/Issue23Test.php', 10 => 'php-giggsey-libphonenumber/tests/Issues/Issue34Test.php', 11 => 'php-giggsey-libphonenumber/tests/Issues/Issue35Test.php', 12 => 'php-giggsey-libphonenumber/tests/Issues/Issue360Test.php', 13 => 'php-giggsey-libphonenumber/tests/Issues/Issue36Test.php', 14 => 'php-giggsey-libphonenumber/tests/Issues/Issue3Test.php', 15 => 'php-giggsey-libphonenumber/tests/Issues/Issue44Test.php', 16 => 'php-giggsey-libphonenumber/tests/Issues/Issue4Test.php', 17 => 'php-giggsey-libphonenumber/tests/Issues/Issue64Test.php', 18 => 'php-giggsey-libphonenumber/tests/Issues/Issue68Test.php', 19 => 'php-giggsey-libphonenumber/tests/Issues/Issue76Test.php', 20 => 'php-giggsey-libphonenumber/tests/Issues/LocaleTest.php', 21 => 'php-giggsey-libphonenumber/tests/Issues/PHP7Test.php', 22 => 'php-giggsey-libphonenumber/tests/Issues/UKNumbersTest.php', 23 => 'php-giggsey-libphonenumber/tests/buildtools/BuildMetadataFromXmlTest.php', 24 => 'php-giggsey-libphonenumber/tests/buildtools/GeneratePhonePrefixDataTest.php', 25 => 'php-giggsey-libphonenumber/tests/buildtools/MetadataFilterTest.php', 26 => 'php-giggsey-libphonenumber/tests/carrier/PhoneNumberToCarrierMapperTest.php', 27 => 'php-giggsey-libphonenumber/tests/core/AsYouTypeFormatterTest.php', 28 => 'php-giggsey-libphonenumber/tests/core/ExampleNumbersTest.php', 29 => 'php-giggsey-libphonenumber/tests/core/MatcherTest.php', 30 => 'php-giggsey-libphonenumber/tests/core/MultiFileMetadataSourceImplTest.php', 31 => 'php-giggsey-libphonenumber/tests/core/PhoneMetadataTest.php', 32 => 'php-giggsey-libphonenumber/tests/core/PhoneNumberMatchTest.php', 33 => 'php-giggsey-libphonenumber/tests/core/PhoneNumberMatcherTest.php', 34 => 'php-giggsey-libphonenumber/tests/core/PhoneNumberTest.php', 35 => 'php-giggsey-libphonenumber/tests/core/PhoneNumberUtilTest.php', 36 => 'php-giggsey-libphonenumber/tests/core/ShortNumberInfoTest.php', 37 => 'php-giggsey-libphonenumber/tests/geocoding/PhoneNumberOfflineGeocoderTest.php', 38 => 'php-giggsey-libphonenumber/tests/prefixmapper/PrefixFileReaderTest.php', 39 => 'php-giggsey-libphonenumber/tests/timezone/PrefixTimeZonesMapTest.php', 40 => 'php-giggsey-libphonenumber/tests/timezone/UKTest.php']) /usr/share/php/PHPUnit/TextUI/TestSuiteMapper.php:67
    PHP   7. PHPUnit\Framework\TestSuite->addTestFile($filename = 'php-giggsey-libphonenumber/tests/Issues/CodeCoverageTest.php') /usr/share/php/PHPUnit/Framework/TestSuite.php:530
    PHP   8. PHPUnit\Util\FileLoader::checkAndLoad($filename = 'php-giggsey-libphonenumber/tests/Issues/CodeCoverageTest.php') /usr/share/php/PHPUnit/Framework/TestSuite.php:402
    PHP   9. PHPUnit\Util\FileLoader::load($filename = 'php-giggsey-libphonenumber/tests/Issues/CodeCoverageTest.php') /usr/share/php/PHPUnit/Util/FileLoader.php:49
    PHP  10. include_once() /usr/share/php/PHPUnit/Util/FileLoader.php:65
    
    

    Would you fix your tests so that they also work with phpunit?

    phpunit --version
    PHPUnit 9.5.2 by Sebastian Bergmann and contributors.
    
    Reviewed by tenzap at 2022-06-13 05:26
  • 14. Case sensitive isValidRegionCode function

    The function isValidRegionCode should accept region/country code in both lower case and upper case as per google/libphonenumber

    Reference https://github.com/google/libphonenumber/blob/7f20d4f7c26bb5d23f2caf86ec37d60f992a3031/javascript/i18n/phonenumbers/phonenumberutil.js#L1671

    If this issue is acceptable, I will create a PR

    Reviewed by blacklizard at 2021-11-29 09:32
  • 15. Method maybeExtractCountryCode very slowly

    $ composer show giggsey/libphonenumber-for-php
    
    name     : giggsey/libphonenumber-for-php
    descrip. : PHP Port of Google's libphonenumber
    keywords : geocoding, geolocation, libphonenumber, mobile, phonenumber, validation
    versions : * 8.12.19
    
    php -v
    
    PHP 7.4.3 (cli) (built: Feb 20 2020 21:53:46) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v3.4.0, Copyright (c) Zend Technologies
        with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
        with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
    

    callgraph callgraph (1) callgraph (2)

    Maybe need add mechanism for cache of parsing? How I can cache or serialize phonenumber phone for cache?

    Reviewed by anboo at 2021-06-02 10:56
  • 16. Make use of giggsey/locale opt-in

    While I understand the rationale behind #119 ,giggsey/locale dependency could lead to inconsistency for people which are already using the intl extension, and is useless for people which have up-to-date ICU.

    As such I think you could add giggsey/locale (and ext-intl) in the suggest composer section and make the Locale class a variable (don't know how to do this properly though).

    WDYT?

    Reviewed by MatTheCat at 2018-01-24 12:16
Arbitrary number base converter.

Numbase Easily convert numbers between arbitrary bases and symbol sets. Installation This library is available on Packagist as thunderer/numbase. It r

Mar 2, 2021
A PHP 5.3+ mathematics library, providing functionality for large numbers

Moontoast Math Library Moontoast\Math is useful for working with integers that are larger than (or may become larger than, through mathematical comput

Jun 15, 2022
Advanced Mathematics Library for PHP (port of Numbers.js)

Numbers.php Numbers.php - an advanced mathematics toolkit for PHP >= 5.3. It is a port of Numbers.js - same toolkit for JavaScript. There is a version

Dec 22, 2021
Library for converting units and sizes in PHP

php-conversion Library for converting units and sizes in PHP. Units supported Acceleration Angle Area Digital information Electric current Frequency F

Feb 20, 2022
BigNum library for PHP compatible with bn.js

BigNum library for PHP Information This library provides a PHP Big Number API compatible with bn.js and is used in Fast PHP ECC library elliptic-php.

Jun 4, 2022
Library for converting units and sizes in PHP

php-conversion Library for converting units and sizes in PHP. Units supported Acceleration Angle Area Digital information Electric current Frequency F

Mar 16, 2021
Jun 21, 2022
Arbitrary-precision arithmetic library for PHP
Arbitrary-precision arithmetic library for PHP

Arbitrary-precision arithmetic library for PHP

Jun 26, 2022
Tensor is a library and extension that provides objects for scientific computing in PHP.
Tensor is a library and extension that provides objects for scientific computing in PHP.

Tensor is a library and extension that provides objects for scientific computing in PHP. The multithreaded extension is especially suited for computing large sets of numbers. In some cases, the extension is 230X faster than the same operation in PHPland. Tensor is used by libraries such as Rubix ML to build and accelerate machine learning algorithms such as linear regression, dimensionality reduction, and neural networks.

Jun 17, 2022
Library to parse, format and convert byte units

Byte Units This is a utility component for parsing, formatting, converting and manipulating byte units in various formats. Usage <?php // Bytes manip

Jun 7, 2022
Unit converter and calculator for php

Unit converter and calculator This library uses the awesome lisachenko/z-engine to allow mathematical operations on objects, allowing to do stuff like

Apr 8, 2022
Version is a library that helps with managing the version number of Git-hosted PHP projects

Version Version is a library that helps with managing the version number of Git-hosted PHP projects. Installation You can add this library as a local,

Jul 1, 2022
Adds phone number functionality to Laravel based on the PHP port of Google's libphonenumber API by giggsey.

Laravel Phone Adds phone number functionality to Laravel based on the PHP port of Google's libphonenumber API by giggsey. Table of Contents Demo Insta

Jul 3, 2022
Phone number functionality for Laravel

Laravel Phone Adds phone number functionality to Laravel and Lumen based on the PHP port of Google's libphonenumber API by giggsey. Table of Contents

Jun 25, 2022
Laravel Dutch Phone Number Validator
 Laravel Dutch Phone Number Validator

Laravel Dutch Phone Number Validator Validate if the given phone number is a valid Dutch phone number Table of Contents Installation Usage Translation

May 30, 2022
This package is used to validate the telephone numbers of the countries taken into account. It also makes it possible to verify that a number is indeed a number of an operator X

phone-number-checker This package is used to validate the telephone numbers of the countries taken into account. It also makes it possible to verify t

Feb 7, 2022
MOP is a php query handling and manipulation library providing easy and reliable way to manipulate query and get result in a fastest way. ( WEBSITE VERSION )
MOP is a php query handling and manipulation library providing easy and reliable way to manipulate query and get result in a fastest way. ( WEBSITE VERSION )

Mysql Optimizer mysql optimizer also known as MOP is a php query handling and manipulation library providing easy and reliable way to manipulate query

Feb 14, 2022
PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Manufacturing Industry, Phone numbers & Zipcodes for many countries

IsoCodes PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes

Jun 16, 2022
The Current US Version of PHP-Nuke Evolution Xtreme v3.0.1b-beta often known as Nuke-Evolution Xtreme. This is a hardened version of PHP-Nuke and is secure and safe. We are currently porting Xtreme over to PHP 8.0.3
The Current US Version of PHP-Nuke Evolution Xtreme v3.0.1b-beta often known as Nuke-Evolution Xtreme. This is a hardened version of PHP-Nuke and is secure and safe. We are currently porting Xtreme over to PHP 8.0.3

2021 Nightly Builds Repository PHP-Nuke Evolution Xtreme Developers TheGhost - Ernest Allen Buffington (Lead Developer) SeaBeast08 - Sebastian Scott B

Jun 10, 2022
Making phone calls with PHP and Twilio Voice Service.

TwilioVoice-PHP This is an example implementation of Twilio's phone call API. You can clone this code to your project: git clone https://github.com/P

Jan 11, 2022