2013-09-29 50 views
0

我想使用Zend-2框架的Gdata包來訪問Youtube API。Zend Framework GData Youtube加載問題

我有一個Zend 1.9版本的成功工作版本。我試圖將它們移植到Zend 2框架版本。

的文件夾結構是

C:\ WAMP \ WWW \插件\的YouTube \
C:\ WAMP \ WWW \插件\的YouTube \ Zend的\(附帶ZF2所有的默認文件夾)
Ç :\ wamp \ www \ plugins \ youtube \ Zend \ ZendGData(從Zend Packages頁面單獨下載)

我已經使用set_include_path()函數將路徑C:\ wamp \ www \ plugins \ youtube \添加到include_path並已驗證相同。

我使用下面的代碼來創建YouTube對象。

$yt = new ZendGData\YouTube(); 

我得到下面的錯誤。

Class 'ZendGData\YouTube' not found 

我不是如何使用ZF2的自動加載功能。我試圖包含Loader/StandardAutoloader.php文件。但仍然如此。

如果我包含Zend \ ZendGData \ YouTube.php文件,我收到通知找不到ZendGData \ Media。

請讓我知道如果我失去了一些愚蠢的東西。

編輯:

什麼我現在已經做了一些更多的信息。 基於來自Stackoverflow網站的搜索,我做了以下更改。

use Zend\Loader\StandardAutoloader; 
use ZendGdata\YouTube; 

require_once 'C:\wamp\www\plugins\youtube\Zend\Loader\StandardAutoloader.php'; 
$loader = new StandardAutoloader(array('autoregister_zf' => true)); 
$loader->register(); 

$yt = new Zend\ZendGData\YouTube(); 

現在我得到下面的錯誤。

Class 'ZendGData\Media' not found 
+0

任何幫助將非常感激..如果有任何信息是缺少這一點,請讓我知道。 – Purus

回答

0

經過對AutoLoader的大量試驗和錯誤,下面的代碼爲我工作。如果有人遇到同樣的問題,這裏是解決方案。

require_once 'C:\wamp\www\youtube\Zend\Loader\StandardAutoloader.php'; 

    $loader = new StandardAutoloader(array(
       'autoregister_zf' => true, 
       'namespaces' => array(
        'ZendGData' => 'C:\wamp\www\youtube\Zend\ZendGdata\') 
        ) 
    ); 

    $loader->register(); 

    $yt = new ZendGData\YouTube(); 
+0

我修改並得到了上面的解決方案發現http://stackoverflow.com/questions/15162157/autoloading-zend-framework-2-packages-with-the-standardautoloader?rq=1 – Purus

+0

儘量不要使用絕對路徑,因爲如果你必須將你的項目移動到linux,然後爲你創建大量額外的工作。我一直討厭在代碼中看到硬編碼的路徑,這是最令人討厭的。 –

+0

是的。我明白了你的觀點。我以不同的方式使用代碼。這裏提供的代碼示例是一個簡單的例子 – Purus