-3

我想测试电话号码的类型,所以我找到了 libphonenumber-for-php。但我不明白如何使用它。

在此页面中:https ://github.com/giggsey/libphonenumber-for-php 它说我需要通过作曲家安装它,但是在哪里?在我的 ubuntu 服务器上?

我只需要知道一个号码是否是手机号码,就像在这个例子中一样: https ://github.com/practo/libphonenumber-for-php/issues/15

所以,我需要了解如何获取图书馆的实例。

谢谢你的帮助

4

2 回答 2

3

Composer 是 PHP 的包管理器,它从 packagist.com 存储库下载包,并将它们与自动加载器一起放置在一个很好的结构中,让您可以轻松使用它们。

您可以按照官方网站上的文档下载作曲家:https ://getcomposer.org/download/

这样做之后,我通常将它放在路径文件夹中,以便能够从任何地方调用它,尽管这只是一个偏好。

启动并运行 Composer 后,创建一个 composer.json 文件,您将在其中放置您想用于 Web 应用程序的包 - 在本例中为“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

于 2014-06-11T09:59:16.577 回答
2

Composer 是一个依赖管理器。请阅读它的文档:https ://getcomposer.org/doc/ 。基本上它会自动为您执行以下任务:

自动加载器可以是:

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);
}
于 2014-06-11T09:51:42.873 回答