首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从google-api-php-client要求Symfony中的文件。

无法从google-api-php-client要求Symfony中的文件。
EN

Stack Overflow用户
提问于 2013-12-28 02:37:51
回答 1查看 2.2K关注 0票数 7

为此,我将Google的github存储库添加到我的composer.json中。

代码语言:javascript
复制
"repositories": [
        {
            "type": "package",
            "package": {
                "name": "google/google-api-php-client",
                "version": "dev-master",
                "source": {
                    "type": "git",
                    "url": "https://github.com/google/google-api-php-client.git",
                    "reference": "master"
                },
                "autoload" :{
                    "classmap": ["src"]
                }
            }
        }
    ]

..。

代码语言:javascript
复制
"require" : {
...
        "google/google-api-php-client": "dev-master"
}

所有内容都已正确安装,我的目录结构如下:

代码语言:javascript
复制
/vendor
  /google
    /google-api-php-client
      /examples
      /src
        /Google
          Client.php

当我在Controller中创建一个对象时,执行以下操作:

代码语言:javascript
复制
$client = new \Google_Client();

找到路径和类。但是,我得到以下错误:

代码语言:javascript
复制
ContextErrorException: Warning: require_once(Google/Auth/AssertionCredentials.php): failed to open stream: No such file or directory in /Users/etienne/Developpement/Ima-Tech/Clients/lesoptions/vendor/google/google-api-php-client/src/Google/Client.php line 18

在我的Client.php文件中,文件的开头有以下内容:

代码语言:javascript
复制
require_once 'Google/Auth/AssertionCredentials.php';

如果我将行更改为:

代码语言:javascript
复制
require_once 'Auth/AssertionCredentials.php';

每件事都能很好的包括进去。但是,我不想更改google客户端项目的每个文件中的每个require_once。我确信有一种方法可以更改包含路径,因此我想知道如何才能知道名称空间"Google“是当前目录?

编辑1 :我猜这可能是因为这个项目(Google Client)不使用名称空间.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-31 02:49:01

尝试以下composer设置:

代码语言:javascript
复制
"repositories": [
  {
    "type": "vcs",
    "url": "https://github.com/google/google-api-php-client"
  }
],
...
"require": {
  "google/apiclient": "dev-master"
}

注意,我使用的是google/apiclient而不是google/google-api-php-client。这对我来说似乎很好。我正在使用PHP5.4。

我认为它不适用于您的原因是因为您在存储库定义中缺少了include-path。如果您查看库的composer.json,您将看到指向src dir的include-path

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20810447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档