PHP API框架中PSR规范有哪些


这篇文章主要介绍“PHP API框架中PSR规范有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP API框架中PSR规范有哪些”文章能帮助大家解决问题。 什么是PSR?介绍PSR之前需要介绍一下制定此规范的组织—–PHP-FIG,全称是PHP Framework Interoperability。组织成员制定规范,并且落实在自己的项目中,虽然不是官方组织,但也代表了大部分PHP社区项目,如CakePHP,Composer,Drupal,PEAR,Slim,Yii framework,Zend Framework等。并且有越来越多的项目加入并遵循此标准。PSR项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,让工程师一起更好协同工作。截止目前,已经官网已有20条列出,除去起草中和舍弃的,有以下13条。我们不妨来看看这些规范:PSR-1 基础编码规范PHP 代码文件必须以 标签开始

PHP 代码文件必须以不带BOM的UTF-8编码PHP 代码中 应该 只定义类、函数、常量等声明,或其他会产生 副作用 的操作(如:生成文件输出以及修改 .ini 配置文件等),二者只能选其一命名空间以及类必须符合 PSR 的自动加载规范PSR-4类的命名必须遵循 StudlyCaps 式大写开头的驼峰命名规范类中的常量所有字母都必须 大写,单词间用下划线分隔方法名称必须符合 camelCase 式的小写开头驼峰命名规范PSR-12 代码风格规范PSR-12的规范很细致,包含了声明、命名空间、类及继承以及控制结构等说明。我们先来看一个demo:

$b){
$foo->bar($arg1);
}else{
BazClass::bar($arg2,$arg3);
}
}

finalpublicstati免费云主机域名cfunctionbar()
{
//methodbody
}
}

代码 必须 遵循 [PSR-1] 中的编码规范所有PHP文件必须使用Unix LF (linefeed)作为行的结束符;所有PHP文件必须以一个空白行作为结束;纯PHP代码文件必须省略最后的 ?> 结束标签每行的字符数 应该软性保持在 80 个之内,理论上 一定不可 多于 120 个,但一定不可有硬性限制;非空行后一定不能有多余的空格符;空行可以使得阅读代码更加方便以及有助于代码的分块。每行一定不能存在多于一条语句代码必须使用4个空格符的缩进,一定不能用 tab键PHP所有关键字必须全部小写控制结构的基本规范如下:

控制结构关键词后必须有一个空格。
左括号(后一定不能有空格。
右括号)前也一定不能有空格。
右括号)与开始花括号{间一定有一个空格。
结构体主体一定要有一次缩进。
结束花括号}一定在结构体主体后单独成行。复制代码

代码风格规范内容很多,这里就不一一说明了,大家可自行阅读PSR-4 自动加载关于由文件路径 自动载入 对应类的相关规范, 本规范是可互操作的,可以作为任一自动载入规范的补充,其中包括 PSR-0,此外, 本 PSR 还包括自动载入的类对应的文件存放路径规范。此处的“类”泛指所有的class类、接口、traits可复用代码块以及其它类似结构。一个完整的类名需具有以下结构:

完整的类名必须要有一个顶级命名空间,被称为 “vendor namespace”;完整的类名可以有一个或多个子命名空间;完整的类名必须有一个最终的类名;完整的类名中任意一部分中的下划线都是没有特殊含义的;完整的类名可以由任意大小写字母组成;所有类名都必须是大小写敏感的。当根据完整的类名载入相应的文件……完整的类名中,去掉最前面的命名空间分隔符,前面连续的一个或多个命名空间和子命名空间,作为“命名空间前缀”,其必须与至少一个“文件基目录”相对应;紧接命名空间前缀后的子命名空间必须与相应的”文件基目录“相匹配,其中的命名空间分隔符将作为目录分隔符。末尾的类名必须与对应的以 .php 为后缀的文件同名。自动加载器(autoloader)的实现一定不能抛出异常、一定不能触发任一级别的错误信息以及不应该有返回值。下表展示了符合规范完整类名、命名空间前缀和文件基目录所对应的文件路径。暂且只介绍这比较常用的三个规范。关于“PHP API框架中PSR规范有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: 怎么通过CGI程序传递Textarea数据

本篇内容介绍了“怎么通过CGI程序传递Textarea数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Textarea 向服务器传递多行数据,HTML 代码如…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/10 18:48
下一篇 05/10 18:48

相关推荐