Итак, я передаю строку номера телефона в свой сервер PHP. Я пытаюсь использовать libphonenumber Google для проверки переданного номера телефона.
Вот строка: "+447400123456" ($val)
$phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
$phoneNumber = new \libphonenumber\PhoneNumber().setNationalNumber($val);
error_log(json_encode($phoneNumber));
$internationalFormatPhoneNumber = $phoneUtil->format($phoneNumber, \libphonenumber\PhoneNumberFormat::INTERNATIONAL);
error_log(json_encode($internationalFormatPhoneNumber));
К сожалению, я продолжаю получать
"local.ERROR: исключение "Symfony\Component\Debug\Exception\FatalErrorException" с сообщением "Вызов неопределенной функции App\Http\Controllers\setNationalNumber()"
Все, что я хочу сделать, это проверить, является ли переданная строка действительным международным номером телефона (включая мобильные телефоны), прежде чем я сохраняю ее в своей базе данных.
Кто-нибудь может мне с этим помочь? Я борюсь с документацией и продолжаю получать ошибки.
.
на->
следующим образом:$phoneNumber = new \libphonenumber\PhoneNumber()->setNationalNumber($val);
- person Matteo   schedule 05.08.2015.
— это оператор конкатенации, поэтому вы вызываете ФУНКЦИЮ верхнего уровня с именемsetNationalNumber()
, а не метод объекта, возвращаемогоPhoneNumber
. - person Marc B   schedule 05.08.2015$phoneNumber = new \libphonenumber\PhoneNumber(); $phoneNumber->setNationalNumber($val);
Спасибо за очень наблюдательную помощь! - person Eamorr   schedule 05.08.2015