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

完全限定类名

完全相对类名是以\开头的,比如\silai\controller\HomeController,不以\开头的类名是相对类名,比如controller\ArticleController,那么相对指的是相对谁呢,相对用namespace关键字声明的命名空间。

<?php
namespace silai;

// 实际上是指`\silai\controller\ArticleController`
controller\ArticleController;

// 这个是完全限定类
\foo\bar\User;

命名空间前缀

命名空间前缀是我们自己指定一的部分命名空间,比如这个命名空间,\silai\framework\controller,我们可以指定\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的基础。

可以扫描二维码加小程序,观看实现符合PSR-4自动加载的视频教程。

思籁教育Lite小程序
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,810评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,323评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,281评论 0 11
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,118评论 6 342
  • 在“三国无双”的历代游戏里,赵云总是最受玩家欢迎的人物,他的名字似乎就是“无双”的代名词,在人们心里,这长坂坡上纵...
    鬼鬼书生阅读 5,889评论 4 11

友情链接更多精彩内容