加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PSR-4命名空间前缀与基目录

发布时间:2022-12-05 11:26:05 所属栏目:PHP教程 来源:
导读:  ## 完全限定类名

  完全相对类名是以`\`开头的,比如`\silai\controller\HomeController`,不以`\`开头的类名是相对类名,比如`controller\ArticleController`,那么相对指的是相对谁呢,相对用`namespace
  ## 完全限定类名
 
  完全相对类名是以`\`开头的,比如`\silai\controller\HomeController`,不以`\`开头的类名是相对类名,比如`controller\ArticleController`,那么相对指的是相对谁呢,相对用`namespace`关键字声明的命名空间。
 
  ```php
 
  namespace silai;
 
  // 实际上是指`\silai\controller\ArticleController`
 
  controller\ArticleController;
 
  // 这个是完全限定类
 
  \foo\bar\User;
 
  ```
  ## 命名空间前缀
 
  命名空间前缀是我们自己指定一的部分命名空间,比如这个命名空间,`\silai\framework\controller`PHP命名空间,我们可以指定`\silai`这一部分作为一个前缀,也可以指定`\silai\framework`这一部分作为前缀,甚至指定`\silai\framework\controller`作为前缀。
 
  ## 基目录
 
  指定了命名空间前缀后,应该再指定这个前缀的基目录,可以指定一个或多个基目录。比如上面的前缀`\silai`,指定它对应目录`C:\silai`;前缀`\silai\framework`对应`D:\project\silai\framework`。
 
  ## 类的定义文件
 
  如果命名空间前缀`\silai`对应基目录`C:\silai`,那么类`\silai\Request`应该怎么定义,定义文件又应该存放在哪里呢?定义如下:
 
  ```php
 
  namespace silai;
 
  class Request
 
  {
 
  }
 
  ```
 
  文件名应该是`Request.php`,文件应该存放在`C:\silai\Request.php`。
 
  对于类`\silai\web\Response`又该怎样呢,首先这个类多了一个子命名空间`web`,那么默认情况下这个类应该放在`C:\silai\web`目录下,如果不想放在这里,可以指定`\silai\web`命名空间前缀对应其他目录。
 
  ## 结束语
 
  研究透彻PSR-4规范,是学习PHP的基础。
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!