2013-07-06 85 views
1

當試圖實現這個框架時,我遇到了一個目錄問題。當我試圖使用這個Zend我結束了Zend框架檢索電子郵件

Interface 'Zend\Mail\Storage\Folder\FolderInterface' not found in /home/content/54/9595754/html/zend/library/Zend/Mail/Storage/Imap.php 

在index.php文件,我嘗試顯示電子郵件。我使用:

set_include_path  
include require_once('Imap.php'); 

Imap.php的內容是這樣的:

namespace Zend\Mail\Storage; 

use Zend\Mail; 
use Zend\Mail\Protocol; 

class Imap extends AbstractStorage implements Folder\FolderInterface,  Writable\WritableInterface 

所以,我需要什麼添加到Imap.php,使其看起來dosent這個目錄中的文件。

我知道理解,我需要嘗試實現一個文件,以便框架了解它們所在的目錄,但是當我嘗試實現自動裝入器時出現錯誤,請參閱下面的示例。

require_once '../../../library/Zend/Loader/Autoloader.php'; 

息率

require_once(Zend/Loader.php) [function.require-once]: failed to open stream: 
No such file or directory in /home/content/54/9595754/html/zend/library/Zend/ 
Loader/Autoloader.php 

回答

4

Zend框架2和其他大多數現代框架依靠autoloading的類加載。 您只需要Imap類而不需要依賴接口。這就是爲什麼你會得到這個致命的錯誤。 我建議你在你的應用程序中設置自動加載。舉一個例子,如何設置這個,你可以看看來自ZendSkeletonApplication的init_autoloader.php

+0

是的,這毫無疑問是我第一次嘗試使用框架!所以我包括 - 我的index.php中的init_autoloader.php一次?我不需要實際調用imap.php是否正確? –

+0

是的,這應該是足夠的。所有ZF2類都按照[PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md)規則命名。 FQCN(包含名稱空間的類名稱)反映了文件夾結構,因此類加載程序不會在何處查找文件。建議在生產中啓用classmap自動加載器,因爲它具有更好的性能,因此應該閱讀相關內容。 –

+0

感謝您的回覆im現在重新嘗試 –