2015-06-11 31 views
0

我正在開發一個Silex應用程序,試圖通過Composer獲得Google API PHP客戶端,並且運氣不錯。我嘗試了許多不同的配置,包括app.php,autoload_namespaces.php,autoload_classmap.php以及Google_Client類本身的變體。Silex/Google API

我加載庫:

"require": { 
    "google/apiclient": "^1.1", 
    ... 
} 

然後我補充一下:

"autoload": { 
    "psr-0": { 
     "Google\\Client": "vendor/google/apiclient/src/" 
    } 
}, 

獲得庫中autoload_namespaces.php

在app.php我:

use Google\Client; 
... 
$app->register(new Client()); 

其中g ives me「致命錯誤:類'Google \ Client'找不到......' 部分問題似乎是Google庫在其類名中使用了下劃線。當我從庫中的'class Google_Client'中刪除'Google_'時,錯誤發生變化,但仍然沒有雪茄...

所以我認爲這與使用下劃線和類中的類命名有關谷歌圖書館。是否有另一個Composer配置可以用來解決此問題?或者另一個Silex解決方法能夠訪問這個庫?

謝謝!

+0

你試着用'\ Google_Client'? – Maerlyn

回答

0

你不應該在自動加載映射中添加你的依賴關係(作曲家爲你做)。在這種情況下,Google PHP API客戶端沒有命名空間,因此作曲者無法使用名稱空間自動加載庫。

爲了使用它,你只需要在上課前到根命名空間添加:

<?php 

require 'path/to/vendor/autoload.php'; // remember to include composer's autoload file 

$gclient = new \Google_Client(); 
+0

是的 - 這個伎倆。謝謝! (是的,我知道不要在作曲​​家之外添加依賴關係。) – Centaur