I need to use google-api-php-client.To do so, I added Google's github repository to my 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"]
}
}
}
]
...
"require" : {
...
"google/google-api-php-client": "dev-master"
}
Everything is installed properly and I have the following directory structure:
/vendor
/google
/google-api-php-client
/examples
/src
/Google
Client.php
When I create an object in my Controller, doing the following :
$client = new \Google_Client();
The path and the class are found. However, I get the following error :
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
In my Client.php file, I have the following at the beginning of the file:
require_once 'Google/Auth/AssertionCredentials.php';
If I change the line to :
require_once 'Auth/AssertionCredentials.php';
everything works fine for that inclusion. However, I don't want to change each require_once
in every file of the google-api-php-client project. I'm sure there is a way to change the inclusion path or something therefore I'm wondering how can I tell that the namespace "Google" is the current directory ?
Edit 1 : I'm guessing that this may be caused because this project (google-api-php-client) does not use namespaces...
Try the following composer settings:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/google/google-api-php-client"
}
],
...
"require": {
"google/apiclient": "dev-master"
}
Notice I'm using google/apiclient
instead of google/google-api-php-client
. This seems to work fine for me. I'm on PHP 5.4.
I think the reason it's not working for you is because you're missing the include-path
in your repository definition. If you look at the library's composer.json, you'll see the include-path
pointing to the src
dir.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With