php里use后的语句可否再简写?

<?php
    namespace    app\index\controller;
    use          app\index\controller\Base;
    class        Index    extends     Base{
        public   function index(){
                 return   'Hello,World!';
        }
    }

这里 use app\index\controller\Base; 能不能缩短成直接用 use \Base;use Base;,毕竟之前已经用过共同namespace前缀app\index\controller.

阅读 3.7k
4 个回答

正如楼上所说,同一目录可以不写.但是不同目录,你或许可以尝试一下这种.

use app\index\controller\{
    Base,
    Basic,
    ...
}

详情请看PHP文档

use          app\index\controller\Base;

这句是多余的,根本不用写

同一目录不需要use

首先,明确几个问题:

  1. 同一命名空间下,不用重复引入,所以,示例代码中不必写 namespace app\index\controller;
  2. use 方法引入命名空间,实际上是延迟加载功能,最终的本质是 require_once 一类的方法;
  3. 正常情况不可以缩短,除非开发者自己定义了 __autoload

参考:

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏