Php 类别';Geocoder\Provider\GoogleMapsProvider';找不到

Php 类别';Geocoder\Provider\GoogleMapsProvider';找不到,php,zend-framework2,Php,Zend Framework2,我试图运行一些遗留应用程序,但我遇到了地理编码器依赖的问题 我收到消息:致命错误:找不到Class Geocoder\Provider\GoogleMapsProvider 我的源代码在标记行显示错误: <?php namespace Application\Geocoder\Provider; use Geocoder\Exception\NoResultException; use Geocoder\Exception\QuotaExceededException; use Geo

我试图运行一些遗留应用程序,但我遇到了地理编码器依赖的问题

我收到消息:
致命错误:找不到Class Geocoder\Provider\GoogleMapsProvider

我的源代码在标记行显示错误:

<?php

namespace Application\Geocoder\Provider;

use Geocoder\Exception\NoResultException;
use Geocoder\Exception\QuotaExceededException;
use Geocoder\Exception\UnsupportedException;
use Geocoder\Exception\InvalidCredentialsException;
use Geocoder\HttpAdapter\HttpAdapterInterface;
use Geocoder\Provider\GoogleMapsProvider as ExtendGoogleMapsProvider;

class GoogleMapsProvider extends ExtendGoogleMapsProvider
{ <===== The error line is HERE
一个
diagnose
命令显示:

$ php composer.phar diagnose
Checking composer.json: FAIL
name : invalid value (Extrapack), must match [A-Za-z0-9][A-Za-z0-9_.-]*/[A-Za-z0-9][A-Za-z0-9_.-]*
No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license.
require.gedmo/doctrine-extensions : exact version constraints (2.3.8) should be avoided if the package follows semantic versioning
require.bjyoungblood/bjy-authorize : exact version constraints (1.4.0) should be avoided if the package follows semantic versioning
require.doctrine/common : exact version constraints (2.3.0) should be avoided if the package follows semantic versioning
require.twbs/bootstrap : exact version constraints (2.3.2) should be avoided if the package follows semantic versioning
require.zf-commons/zfc-user-doctrine-orm : unbound version constraints (master-dev) should be avoided
require.mwillbanks/zfc-twitter-bootstrap : unbound version constraints (master-dev) should be avoided
require.zendframework/zendframework : exact version constraints (2.2.5) should be avoided if the package follows semantic versioning
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys: 
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
My
phar
模块:

Phar: PHP Archive support   enabled
Phar EXT version    2.0.2
Phar API version    1.1.1
SVN revision    $Id: 780be432570e80dd34c1a9c217ef87ade22bf136 $
Phar-based phar archives    enabled
Tar-based phar archives enabled
ZIP-based phar archives enabled
gzip compression    enabled
bzip2 compression   enabled
Native OpenSSL support  enabled
在源代码中,让我困惑的是

use Geocoder\Provider\GoogleMapsProvider as ExtendGoogleMapsProvider;
这表示类扩展了自身。这对我来说毫无意义。

如果您查看,类
Geocoder\Provider\GoogleMapsProvider
不存在

这可能表示您使用的版本比以前的旧项目更新

查看确认已删除
3.x
行中的
Provider
后缀

首先,您可能希望使用旧版本。跑

$ composer require willdurand/geocoder:^2.8.2
或者,尝试在
3.x
行中使用重命名的提供程序,但不带后缀:

use Geocoder\Provider\GoogleMaps;

class GoogleMapsProvider extends GoogleMaps
{
    // ...
}
注意类名使用

use Geocoder\Provider\GoogleMapsProvider as ExtendGoogleMapsProvider;
防止碰撞

有关参考,请参阅:


现场!因此,我将反转并使用使用正确类的遗留依赖项。我决定尝试您的替代解决方案。我将
extendedGoogleMapsProvider
类重命名为
GoogleMaps
类,但这没有帮助。然后我将依赖关系降级为
willdurand/geocoder:^2.8.2
,结果证明效果很好。所以这就是我要寻求的解决方案。
use Geocoder\Provider\GoogleMapsProvider as ExtendGoogleMapsProvider;