Rumah > pembangunan bahagian belakang > tutorial php > PHP引入命名空间 无法使用的问题 报错!

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-06 20:44:09
asal
2176 orang telah melayarinya

环境

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

文件

#/Application/Common/Common/Api/WebServer.php
namespace Common\Api;
class WebServer {

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

Salin selepas log masuk
Salin selepas log masuk
#/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');
    }
}
Salin selepas log masuk
Salin selepas log masuk
#/Application/Home/Controller/IndexController.class.php
namespace Home\Controller;
class IndexController extend InitController {

    public function index(){
        $demo = new WebServer();
        var_dump( $demo->demo() );
    }
}
Salin selepas log masuk
Salin selepas log masuk

报错

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

回复内容:

环境

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

文件

#/Application/Common/Common/Api/WebServer.php
namespace Common\Api;
class WebServer {

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

Salin selepas log masuk
Salin selepas log masuk
#/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');
    }
}
Salin selepas log masuk
Salin selepas log masuk
#/Application/Home/Controller/IndexController.class.php
namespace Home\Controller;
class IndexController extend InitController {

    public function index(){
        $demo = new WebServer();
        var_dump( $demo->demo() );
    }
}
Salin selepas log masuk
Salin selepas log masuk

报错

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

<?php
#/Application/Home/Controller/IndexController.class.php
use \Common\Api; 然后 new WebServer();
#或者
new \Common\Api\WebServer();
Salin selepas log masuk
Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan