sk811229 2018-05-23 19:29:04 2200次浏览 3条回复 0 0 0

我想请教下大家什么是命名空间namespace和use到底有什么用?我发现很多文件开头都是namespace和use我想知道这究竟是干嘛用的。仅仅是一个逻辑定义,还是必须要有真实对应的文件和文件夹?希望大家能帮帮我,先谢谢了。

  • 回复于 2018-05-24 09:33 举报

    命名空间的作用主要是为了避免命名冲突

  • 回复于 2018-05-24 17:04 举报

    忘了,去手册看.

    记得应该本身好像是没什么功能性的就是字符串

    这两个东西都是结合自动载入使用的
    自动载入的规则是重载splautoload什么的由代码来实现的
    就是把字符串解析成path然后去引入文件.

  • 回复于 2018-05-27 07:51 举报

    当然要有真实对应的文件和文件夹,比如 你的前台和后台都有一个 controller 文件 PostController.php ,你在使用时如果不加上命名空间,系统不会知道你使用的是哪一个 PostController.php,所以在使用时通常这样:在你使用的代码最前面加上 use backend\controllers\PostController.php,这是使用后台的情况,使用前台的则为:use frontend\controllers\PostController.php,
    以上是使用时的声明,当然,在相应的 PostController.php 前面也要加上它自己的命名空间,也就是它的路径,比如说对于前台的PostController.php,在这个文件的最前面要写上它的命名空间:namespace frontend\controllers;
    不要太执着它,用的时间长了就明白是怎么回事了。

    1 条回复
    回复于 2018-06-19 17:32 回复

    感谢!之前写php都是小程序,没有成规模的,所以没碰到过这类的问题 。

    觉得很赞
您需要登录后才可以回复。登录 | 立即注册