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

Другие вопросы по тегам