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);
}
Другие вопросы по тегам