iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP API框架中PSR规范有哪些
  • 199
分享到

PHP API框架中PSR规范有哪些

2023-07-05 03:07:02 199人浏览 安东尼
摘要

这篇文章主要介绍“PHP api框架中PSR规范有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php API框架中PSR规范有哪些”文章能帮助大家解决问题。什么是PSR?介绍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条。

PHP API框架中PSR规范有哪些

我们不妨来看看这些规范:

PSR-1 基础编码规范

  • PHP 代码文件必须以 <?php 或 <?= 标签开始

  • PHP 代码文件必须以不带BOM的UTF-8编码

  • PHP 代码中 应该 只定义类、函数、常量等声明,或其他会产生 副作用 的操作(如:生成文件输出以及修改 .ini 配置文件等),二者只能选其一

  • 命名空间以及类必须符合 PSR 的自动加载规范PSR-4

  • 类的命名必须遵循 StudlyCaps 式大写开头的驼峰命名规范

  • 类中的常量所有字母都必须 大写,单词间用下划线分隔

  • 方法名称必须符合 camelCase 式的小写开头驼峰命名规范

PSR-12 代码风格规范

PSR-12的规范很细致,包含了声明、命名空间、类及继承以及控制结构等说明。

我们先来看一个demo:

<?phpdeclare(strict_types=1);namespace Vendor\Package;use Vendor\Package\{ClassA as A, ClassB, ClassC as C};use Vendor\Package\SomeNamespace\ClassD as D;use function Vendor\Package\{functionA, functionB, functionC};use const Vendor\Package\{ConstantA, ConstantB, ConstantC};class Foo extends Bar implements FooInterface{    public function sampleFunction(int $a, int $b = null): array    {        if ($a === $b) {            bar();        } elseif ($a > $b) {            $foo->bar($arg1);        } else {            BazClass::bar($arg2, $arg3);        }    }    final public static function bar()    {        // method body    }}

  • 代码 必须 遵循 [PSR-1] 中的编码规范

  • 所有PHP文件必须使用Unix LF (linefeed)作为行的结束符;

  • 所有PHP文件必须以一个空白行作为结束;

  • 纯PHP代码文件必须省略最后的 ?> 结束标签

  • 每行的字符数 应该软性保持在 80 个之内,理论上 一定不可 多于 120 个,但一定不可有硬性限制;非空行后一定不能有多余的空格符;

  • 空行可以使得阅读代码更加方便以及有助于代码的分块。

  • 每行一定不能存在多于一条语句

  • 代码必须使用4个空格符的缩进,一定不能用 tab键

  • PHP所有关键字必须全部小写

  • 控制结构的基本规范如下:

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

代码风格规范内容很多,这里就不一一说明了,大家可自行阅读

PSR-4 自动加载

关于由文件路径 自动载入 对应类的相关规范, 本规范是可互操作的,可以作为任一自动载入规范的补充,其中包括 PSR-0,此外, 本 PSR 还包括自动载入的类对应的文件存放路径规范。

  • 此处的“类”泛指所有的class类、接口、traits可复用代码块以及其它类似结构。

  • 一个完整的类名需具有以下结构:

     \<命名空间>(\<子命名空间>)*\<类名>
    • 完整的类名必须要有一个顶级命名空间,被称为 "vendor namespace";

    • 完整的类名可以有一个或多个子命名空间;

    • 完整的类名必须有一个最终的类名;

    • 完整的类名中任意一部分中的下划线都是没有特殊含义的;

    • 完整的类名可以由任意大小写字母组成;

    • 所有类名都必须是大小写敏感的。

  • 当根据完整的类名载入相应的文件……

    • 完整的类名中,去掉最前面的命名空间分隔符,前面连续的一个或多个命名空间和子命名空间,作为“命名空间前缀”,其必须与至少一个“文件基目录”相对应;

    • 紧接命名空间前缀后的子命名空间必须与相应的”文件基目录“相匹配,其中的命名空间分隔符将作为目录分隔符。

    • 末尾的类名必须与对应的以 .php 为后缀的文件同名。

    • 自动加载器(autoloader)的实现一定不能抛出异常、一定不能触发任一级别的错误信息以及不应该有返回值。

例子

下表展示了符合规范完整类名、命名空间前缀和文件基目录所对应的文件路径。

完整类名命名空间前缀文件基目录文件路径
\Acme\Log\Writer\File_WriterAcme\Log\Writer./acme-log-writer/lib/./acme-log-writer/lib/File_Writer.php
\Aura\WEB\Response\StatusAura\Web/path/to/aura-web/src//path/to/aura-web/src/Response/Status.php
\Symfony\Core\RequestSymfony\Core./vendor/Symfony/Core/./vendor/Symfony/Core/Request.php
\Zend\AclZend/usr/includes/Zend//usr/includes/Zend/Acl.php

暂且只介绍这比较常用的三个规范。

关于“PHP API框架中PSR规范有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网PHP编程频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: PHP API框架中PSR规范有哪些

本文链接: https://www.lsjlt.com/news/349174.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP API框架中PSR规范有哪些
    这篇文章主要介绍“PHP API框架中PSR规范有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP API框架中PSR规范有哪些”文章能帮助大家解决问题。什么是PSR?介绍PSR之前需要介绍...
    99+
    2023-07-05
  • 手写PHP API框架(一)之PSR规范
    本篇文章给大家带来了关于php的相关知识,其中主要跟大家聊一聊编码规范,也建议大家在开发中尽量遵循规范,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。创作初衷有没有用烦了CURD?各种框架是不是有点头大?有没有尝试自己设计一个框架?学了...
    99+
    2023-05-14
    php 编码规范
  • HTTP中有哪些规范
    这篇文章给大家介绍HTTP中有哪些规范,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.RefererHTTP 标准把 Referrer 写成 Referer(少些了一个 r),可以说...
    99+
    2024-04-02
  • golang的api框架有哪些
    golang的api框架有:1.Gin,基于golang编写的Web框架;2.go-rest,专用于开发api的轻量级框架;golang的api框架有以下两种GinGin是一个基于golang编写的Web框架,使用Gin可以集成权限验证、记...
    99+
    2024-04-02
  • javascript中UMD规范有哪些
    本篇文章为大家展示了javascript中UMD规范有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. UMD规范UMD规范,就是所有规范里长得最丑的那个,没...
    99+
    2024-04-02
  • JavaScript中有哪些UMD规范
    今天就跟大家聊聊有关JavaScript中有哪些UMD规范,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。说明UMD是AMD和CommonJS的结合。CommonJS模块是根据服务器第...
    99+
    2023-06-20
  • php框架有哪些
    php框架有:Laravel是一款免费并且开源的PHP应用框架,基于MVC的WEB应用而设计的。Phalcon是一款PHP框架以高性能和低消耗著称的框架。Symfony是一款可以帮助你加速创建和维护PHP应用的框架。Yii是一款快速、安全和...
    99+
    2024-04-02
  • HTML规范有哪些
    本篇内容主要讲解“HTML规范有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML规范有哪些”吧!HTML 规范缩进统一两个空格缩进命名规范class ...
    99+
    2024-04-02
  • Redis规范有哪些
    这篇“Redis规范有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Redis规范有哪些”文章吧。redis 功能强大,...
    99+
    2023-06-27
  • codereview规范有哪些
    Code Review的规范可以有很多,这里列举一些常见的规范: 代码风格一致性:确保代码使用统一的缩进风格、命名规范、空格使用、...
    99+
    2023-10-21
    codereview
  • 有哪些PHP框架?
    PHP 是一个被广泛使用的来进行Web开发的脚本语言。虽然有很多其它可供选择的Web开发语言,像:ASP 和Ruby,但是PHP是目前为止世界上最为流行的。那么,是什么让PHP如此流行?PHP 如此之流行是因为比起别的语言来,它更容易学习,...
    99+
    2024-04-02
  • PHP开发内部规范有哪些
    本篇内容介绍了“PHP开发内部规范有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!       ...
    99+
    2023-06-25
  • sql规范有哪些
    这篇文章主要为大家展示了“sql规范有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sql规范有哪些”这篇文章吧。看到itpub的微信发的,搬运一下,应该不...
    99+
    2024-04-02
  • CSS有哪些规范
    这篇文章主要介绍“CSS有哪些规范”,在日常操作中,相信很多人在CSS有哪些规范问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS有哪些规范”的疑惑有所帮助!接下来,请跟着...
    99+
    2024-04-02
  • php中有哪些爬虫框架
    php中有哪些爬虫框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。...
    99+
    2023-06-14
  • PHP中的MVC框架有哪些?
    随着互联网技术的发展,MVC框架成为了Web开发中最受欢迎的一种思想和模式。其中,PHP语言作为一种Web开发语言,也有着丰富的MVC框架。本篇文章将介绍一些常用的PHP MVC框架。一、LaravelLaravel是目前PHP中最受欢迎的...
    99+
    2023-05-14
    PHP MVC框架 列举
  • C#中有哪些命名规范
    本篇文章给大家分享的是有关C#中有哪些命名规范,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。匈牙利命名法 我最早接触到的命名规范是匈牙利命名法,该方法出自微软,基本上是一些在你...
    99+
    2023-06-17
  • Mysql中有哪些命名规范
    Mysql中有哪些命名规范,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  Mysql基本命名原则  1.使用用相同或类似含义英文命名,中...
    99+
    2024-04-02
  • jquery中有哪些代码规范
    这期内容当中小编将会给大家带来有关jquery中有哪些代码规范,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。<!DOCTYPE html> <...
    99+
    2024-04-02
  • php的框架有哪些
    php的框架有:1、国内框架:ThinkPHP、Canphp、KYPHP、InitPHP、SpeedPHP、CdvPHP 等等。2、国外框架:Zend Framework、Codelgniter、CakePHP、Symfony 、Yii、S...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作