Maison  >  Article  >  développement back-end  >  PHP引入命名空间 无法使用的问题 报错!

PHP引入命名空间 无法使用的问题 报错!

WBOY
WBOYoriginal
2016-06-06 20:44:092106parcourir

环境

使用的是ThinkPHP3.2.2,发现命名空间出现问题,无法使用!

文件

<code class="lang-php">#/Application/Common/Common/Api/WebServer.php
namespace Common\Api;
class WebServer {

    public function demo(){
        var_dump( __NAMESPACE__ );
        var_dump( __FILE__ , __LINE__ );            
    }
}

</code>
<code class="lang-php">#/Application/Home/Controller/InitController.class.php
namespace Home\Controller;
use Think\Controller;
use Common\Api;
class IndexController extend Controller {

    public function index(){
        //引入了 /Application/Common/Common/Api/WebServer.php
        load('Common.Api.WebServer');
    }
}
</code>
<code class="lang-php">#/Application/Home/Controller/IndexController.class.php
namespace Home\Controller;
class IndexController extend InitController {

    public function index(){
        $demo = new WebServer();
        var_dump( $demo->demo() );
    }
}
</code>

报错

<code>#访问 HomeController 控制器的 index模块报错提示:
Class 'Home\Controller\WebServer' not found
</code>

回复内容:

环境

使用的是ThinkPHP3.2.2,发现命名空间出现问题,无法使用!

文件

<code class="lang-php">#/Application/Common/Common/Api/WebServer.php
namespace Common\Api;
class WebServer {

    public function demo(){
        var_dump( __NAMESPACE__ );
        var_dump( __FILE__ , __LINE__ );            
    }
}

</code>
<code class="lang-php">#/Application/Home/Controller/InitController.class.php
namespace Home\Controller;
use Think\Controller;
use Common\Api;
class IndexController extend Controller {

    public function index(){
        //引入了 /Application/Common/Common/Api/WebServer.php
        load('Common.Api.WebServer');
    }
}
</code>
<code class="lang-php">#/Application/Home/Controller/IndexController.class.php
namespace Home\Controller;
class IndexController extend InitController {

    public function index(){
        $demo = new WebServer();
        var_dump( $demo->demo() );
    }
}
</code>

报错

<code>#访问 HomeController 控制器的 index模块报错提示:
Class 'Home\Controller\WebServer' not found
</code>

<code class="lang-php"><?php #/Application/Home/Controller/IndexController.class.php
use \Common\Api; 然后 new WebServer();
#或者
new \Common\Api\WebServer();
</code></code>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn