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
Myphar
模块:
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;