Heim > Backend-Entwicklung > PHP-Tutorial > PHP引入命名空间 无法使用的问题 报错!

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

WBOY
Freigeben: 2016-06-06 20:44:09
Original
2143 Leute haben es durchsucht

环境

使用的是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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

报错

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

回复内容:

环境

使用的是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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

报错

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

<code class="lang-php"><?php #/Application/Home/Controller/IndexController.class.php
use \Common\Api; 然后 new WebServer();
#或者
new \Common\Api\WebServer();
</code></code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage