1

我正在使用 libphonenumber 的 php 实现

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

我对命名空间和 oo 在 php 中很陌生。我知道 Locale 是一个 php 类。我的问题是为什么找不到

4

1 回答 1

0

找到了答案。使用 Locale 需要安装 php 的国际扩展见以下问题

致命错误:在 ZF2 beta5 框架应用程序中找不到类“区域设置”

于 2014-04-09T10:30:22.920 回答