当前位置:Gxlcms > PHP教程 > PHP引入命名空间无法使用的问题报错!

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

时间:2021-07-01 10:21:17 帮助过:55人阅读

环境

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

文件

  1. <code class="lang-php">#/Application/Common/Common/Api/WebServer.php
  2. namespace Common\Api;
  3. class WebServer {
  4. public function demo(){
  5. var_dump( __NAMESPACE__ );
  6. var_dump( __FILE__ , __LINE__ );
  7. }
  8. }
  9. </code>
  1. <code class="lang-php">#/Application/Home/Controller/InitController.class.php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. use Common\Api;
  5. class IndexController extend Controller {
  6. public function index(){
  7. //引入了 /Application/Common/Common/Api/WebServer.php
  8. load('Common.Api.WebServer');
  9. }
  10. }
  11. </code>
  1. <code class="lang-php">#/Application/Home/Controller/IndexController.class.php
  2. namespace Home\Controller;
  3. class IndexController extend InitController {
  4. public function index(){
  5. $demo = new WebServer();
  6. var_dump( $demo->demo() );
  7. }
  8. }
  9. </code>

报错

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

回复内容:

环境

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

文件

  1. <code class="lang-php">#/Application/Common/Common/Api/WebServer.php
  2. namespace Common\Api;
  3. class WebServer {
  4. public function demo(){
  5. var_dump( __NAMESPACE__ );
  6. var_dump( __FILE__ , __LINE__ );
  7. }
  8. }
  9. </code>
  1. <code class="lang-php">#/Application/Home/Controller/InitController.class.php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. use Common\Api;
  5. class IndexController extend Controller {
  6. public function index(){
  7. //引入了 /Application/Common/Common/Api/WebServer.php
  8. load('Common.Api.WebServer');
  9. }
  10. }
  11. </code>
  1. <code class="lang-php">#/Application/Home/Controller/IndexController.class.php
  2. namespace Home\Controller;
  3. class IndexController extend InitController {
  4. public function index(){
  5. $demo = new WebServer();
  6. var_dump( $demo->demo() );
  7. }
  8. }
  9. </code>

报错

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

  1. <code class="lang-php"><!--?php
  2. #/Application/Home/Controller/IndexController.class.php
  3. use \Common\Api; 然后 new WebServer();
  4. #或者
  5. new \Common\Api\WebServer();
  6. </code--></code>

人气教程排行