Eti*_*oël 7 php google-api symfony
我需要使用google-api-php-client.为此,我将Google的github存储库添加到了我的composer.json中.
"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"]
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
...
"require" : {
...
"google/google-api-php-client": "dev-master"
}
Run Code Online (Sandbox Code Playgroud)
一切都安装正确,我有以下目录结构:
/vendor
/google
/google-api-php-client
/examples
/src
/Google
Client.php
Run Code Online (Sandbox Code Playgroud)
当我在Controller中创建对象时,执行以下操作:
$client = new \Google_Client();
Run Code Online (Sandbox Code Playgroud)
找到路径和类.但是,我收到以下错误:
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
Run Code Online (Sandbox Code Playgroud)
在我的Client.php文件中,我在文件的开头有以下内容:
require_once 'Google/Auth/AssertionCredentials.php';
Run Code Online (Sandbox Code Playgroud)
如果我将行更改为:
require_once 'Auth/AssertionCredentials.php';
Run Code Online (Sandbox Code Playgroud)
一切都适合这种包容.但是,我不想require_once在google-api-php-client项目的每个文件中更改每个文件.我确定有一种方法可以改变包含路径或者某些东西,因此我想知道如何判断命名空间"Google"是当前目录?
编辑1:我猜这可能是因为这个项目(google-api-php-client)不使用命名空间...
尝试以下作曲家设置:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/google/google-api-php-client"
}
],
...
"require": {
"google/apiclient": "dev-master"
}
Run Code Online (Sandbox Code Playgroud)
请注意我正在使用google/apiclient而不是google/google-api-php-client.这对我来说似乎很好.我在PHP 5.4上.
我认为它不适合你的原因是因为你错过了include-path你的存储库定义.如果你看一下图书馆的composer.json,你会看到include-path指向srcdir.
| 归档时间: |
|
| 查看次数: |
2038 次 |
| 最近记录: |