Libphonenumber php
Я хотел бы проверить тип телефонных номеров, поэтому я нашел libphonenumber-for-php. Но я не понимаю, как его использовать.
На этой странице: https://github.com/giggsey/libphonenumber-for-php там говорится, что мне нужно установить его через композитор, но где? На моем сервере Ubuntu?
мне просто нужно знать, является ли номер номером мобильного телефона, как в этом примере: https://github.com/practo/libphonenumber-for-php/issues/15
Итак, мне нужно понять, как получить экземпляр библиотеки.
Спасибо за вашу помощь
2 ответа
Composer - менеджер пакетов для PHP, он загружает пакеты из репозитория packagist.com и размещает их в удобной структуре вместе с автозагрузчиком, который позволит вам легко их использовать.
Вы можете скачать композитор, как описано на официальном сайте: https://getcomposer.org/download/
После этого я обычно помещаю его в папку пути, чтобы иметь возможность вызывать его из любого места, хотя это всего лишь предпочтение.
Как только вы запустите Composer, создайте файл composer.json, в который вы поместите пакеты, которые вы хотите использовать для своего веб-приложения - в данном случае "giggsey/libphonenumber-for-php", без кавычек. Размещенная вами ссылка на github содержит точную структуру json:
{
"require": {
"giggsey/libphonenumber-for-php": "~6.0"
}
}
Наконец, вызовите composer.phar install на консоли, и он позаботится обо всем за вас.
Чтобы создать экземпляр библиотеки, сначала включите файл vendor/autoload.php, а затем просто следуйте инструкциям в главе "Быстрые примеры" ссылки на github.
Обратите внимание, что все, что я сказал о композиторе, подробно описано в официальной документации: https://getcomposer.org/doc/01-basic-usage.md
Composer - менеджер зависимостей. Пожалуйста, прочитайте документацию для этого: https://getcomposer.org/doc/. По сути, он автоматически выполняет для вас следующую задачу:
- Просто загрузите исходный код с Github (кнопка загрузки Zip справа): https://github.com/giggsey/libphonenumber-for-php/archive/master.zip
- Поместите содержимое папки src в ваш проект
- Включите все необходимые библиотечные файлы в ваш скрипт (Composer использует автозагрузку)
Автозагрузчик может быть:
spl_autoload_register( function ($className) {
include str_replace('\\', DIRECTORY_SEPARATOR, $className) . DIRECTORY_SEPARATOR . '.php';
}
});
Убедитесь, что вы настроили его в соответствии со своим проектом. Посмотрите здесь для получения дополнительной информации об автоматической загрузке: что такое автозагрузка; Как вы используете spl_autoload, __autoload и spl_autoload_register?
Вы также хотите убедиться, что вы зарегистрировали его, прежде чем использовать класс:
//Registering
include('Autoloader.php')
//Use the Class
$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);
}