2014-10-18 46 views
0

嘗試使用PHP 5.3.9-ZS5.6.0實現第三方庫,並且lib使用命名空間。我想要使​​用lib的代碼不會。所以,我有:簡單的PHP命名空間問題

  • facebook.php
  • 靜音

(靜音是的lib文件夾)

在facebook.php我嘗試:

$app = new \Mute\Facebook\App(); 

導致:致命錯誤:類'Mute \ Facebook \ App'未找到...

檔案全部到位。 我可以說:

use \Mute\Facebook\App; 

沒有得到任何錯誤/警告......我在想什麼?

當我通過require_once需要「App.php」時,我得到下一個錯誤:致命錯誤:Interface /靜音/ Facebook/Bases/AccessToken'在/ Mute/Facebook/App中找不到。 PHP

靜音/ Facebook的/ App.php:

<?php 
namespace Mute\Facebook; 

use Closure; 
use Exception; 
use Mute\Facebook\Bases\AccessToken; 
use Mute\Facebook\Bases\Batchable; 
use Mute\Facebook\Bases\Configurable; 
use Mute\Facebook\Bases\Requestable; 
use Mute\Facebook\Bases\RequestHandler; 
use Mute\Facebook\Exception\CurlException; 
use Mute\Facebook\Exception\GraphAPIException; 
use Mute\Facebook\Exception\HTTPException; 
use Mute\Facebook\Exception\InvalidArgumentException; 
use Mute\Facebook\Exception\OAuthSignatureException; 
use Mute\Facebook\Util; 

class App implements AccessToken, Batchable, Configurable, Requestable, RequestHandler 
{ [...] 
+0

你可以發佈類定義中的相關代碼嗎?命名空間與文件夾位置不同,您仍然必須包含聲明/使用命名空間的文件。 – GabbyL1003 2014-10-18 23:34:26

+0

我已更新我的問題。 – pebbo 2014-10-18 23:41:08

回答

0
function __autoload($class_name) { 
    require_once str_replace('\\', '/', $class_name) . '.php'; 
} 

我創建了一個__autoload函數爲 「神奇」 需要我需要的所有文件。完全忘記了這種方法>。 <