libphonenumber php не может найти базовый класс Locale
Я использую php implmentation libphonenumber из
giggsey/libphonenumber-for-php
Мне это нужно, чтобы просто проверить смысл и валидность телефонного номера, введенного пользователями.
Я взял весь src/libphonenumber
каталог и его подкаталоги и скопировал его в мой проект. Я не использую Composer и, поскольку это только один из элементов моего проекта, я надеюсь, что не нужно подниматься по этой конкретной кривой обучения прямо сейчас. Я поместил следующий простой автозагрузчик в начале скрипта.
namespace libphonenumber;
spl_autoload_register('libphonenumber\myAutoloader');
function myAutoloader($className)
{
$path = 'libphonenumber/';
$parts=explode('\\',$className,2);
$filename=str_replace('\\','/',$parts[1]);
include $path.$filename.'.php';
}
Автозагрузчик работает нормально, за исключением случаев, когда нужно включить файл geocoding/Locale.php
который включает в себя один класс 'Locale' следующим образом;
class Locale extends \Locale
Я получаю ошибку
PHP Fatal error: Class 'Locale' not found in /var/www/luthor/php/libphonenumber/geocoding/Locale.php on line 6
Я довольно новичок в пространствах имен и оо в php. Я понимаю, что Locale - это класс php. Мой вопрос почему это не найдено
1 ответ
Нашел ответ. Использование Locale требует установки международного расширения для php, см. Следующий вопрос
Неустранимая ошибка: класс 'Locale' не найден в скелетном приложении ZF2 beta5