2014-10-18 75 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函数为 “神奇” 需要我需要的所有文件。完全忘记了这种方法>。 <