PHP-FIG底层原理以及所有规范

2023-10-26 10:45
文章标签 php 原理 所有 底层 规范 fig

本文主要是介绍PHP-FIG底层原理以及所有规范,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PHP-FIG是PHP Framework Interoperability Group的简称,是一个致力于制定PHP规范和标准化的组织。它的目标是提高不同PHP框架之间的互操作性和兼容性,促进PHP开发社区的合作和共享。

PSR标准规范了一些常用的编码规范、类自动加载规范、接口规范等。这些规范的制定帮助开发者更好地编写、组织和维护他们的PHP代码

PHP-FIG 官网We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together.icon-default.png?t=N7T8https://www.php-fig.org/

(PHP-FIG)制定的一系列 PHP 技术规范,包括了 PSR-1 到 PSR-20。下面逐个解释每个规范的主要内容:

1、PSR-1:Basic Coding Standard(基本编码规范) 这个规范定义了基本的编程风格和约定,包括命名空间的使用、文件和类命名规范、代码缩进和换行等。

2、PSR-2:Coding Style Guide(编码风格指南) PSR-2 通过对代码的排版和风格进行规范,提供了统一的编码风格,包括缩进、命名、注释、空格等等。

3、PSR-3:Logger Interface(日志接口) 这个规范定义了日志记录器的通用接口,使得不同的日志库可以实现相同的接口,提高了日志库的互操作性。

4、PSR-4:Autoloader(自动加载规范) PSR-4 规范了通过命名空间进行自动加载类和文件的方式,使得不同的框架和库可以共享和重用代码,提高了开发效率。

5、PSR-5:PHPDoc(PHP文档块规范) 这个规范定义了在 PHPDoc 注释中使用的标记和规则,包括注释块的格式、标签的使用和参数的说明等,有助于代码的文档化。

6、PSR-6:Caching Interface(缓存接口) PSR-6 定义了一个缓存接口,通过统一的方法和规范,使得不同的缓存库可以无缝切换,提高了代码的可扩展性和可维护性。

7、PSR-7:HTTP Message Interface(HTTP消息接口) 这个规范定义了一套操作 HTTP 消息的方法和接口,包括请求和响应的处理、内容的访问和修改等,为处理 HTTP 请求和响应提供了标准化的方式。

8、PSR-11:Container Interface(容器接口) PSR-11 定义了一个基本的容器接口,用于实现依赖注入和控制反转(IoC)容器,通过统一的接口,提供了更好的可扩展性和可测试性。

9、PSR-13:Link Interface(链接接口) 这个规范定义了链接对象的接口,用于表示和操作链接关系,例如超链接、路径、资源关系等。

10、PSR-15:HTTP Handlers(HTTP处理器) PSR-15 定义了一种处理 HTTP 请求和响应的中间件模式,通过统一的接口和规范,提供了更灵活和可组合的方式来处理 HTTP 请求。

11、PSR-16:Simple Cache(简单缓存) 这个规范定义了一个简单的缓存接口,提供了一套简单但功能完善的缓存操作方法,使得不同的缓存库可以无缝切换。

12、PSR-17:HTTP Factories(HTTP工厂) PSR-17 定义了一套创建 HTTP 请求和响应对象的工厂接口,使得可以灵活地创建和管理 HTTP 对象。

13、PSR-18:HTTP Client(HTTP客户端) 这个规范定义了一个统一的 HTTP 客户端接口,提供了发送和处理 HTTP 请求的标准方法。

14、PSR-19:Service Hooks(服务钩子) PSR-19 定义了一套服务钩子的接口和规范,用于在服务调用前后触发特定的操作,例如权限校验、日志记录等。

15、PSR-20:Meta Document(元文档) 这个规范定义了一套操作和表示 PHP 元数据的接口和规范,例如获取类的元信息、修改类的属性等。

这篇关于PHP-FIG底层原理以及所有规范的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/285567

相关文章

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和