Yii2.0学习第4课:命名空间-01
1、运行我们的LNMP环境,使用浏览器查看我们默认首页地址。并查看首页“控制器”代码,如下:namespace app\controllers;
2、一甜入艺阝句话概括“命名空间”:一种封装事物的方法。有的朋友可能不理解“封装”和“事物”了。用一种抽象的词汇来解释一个“抽象”的词汇,好难,( ̄▽ ̄像粜杵泳)"。初次感觉“app\controllers”貌似是个目录结构,我们再次查看一下项目文档结构:(1)basic\assets\AppAsset.php(2)basic\controllers\SiteController.php(3)basic\models\User.php(4)basic\commands\HelloController.php
3、对比步骤2中的目录结构及该目录下文件中“命名空间”的使用,我们会发现以下问题:(1)basic\assets =》app\assets(2)basic\models =》app\models(3)basic\controllers =》 app\controllers(4)basic\commands =》app\commands不知道读者有什么感想?
4、已basic\controllers\SiteController.php为例:命名空间内容为“namespaces app\controllers”表示SiteController.php这个文件在controllers目录下。其他同理。
5、我们会发现,实际上SiteController.php本来就在controllers目录下,这样写不是多此一举吗?查看PHP官网,解释说其可以解决两种问题:(1)用户编写的代码与PH霸烹钟爷P内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。(2)为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。