PSR 是由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准,这是具体的地址: https://learnku.com/docs/psr 这里顺便把基本的规范写一下 至今,php-fig...已经发布了五个规范: PSR-0:自动加载标准,2014-10-21该标准已经被废弃,使用PSR-4替代,不再细讲 PSR-1:基本的编码风格 PSR-2:编码风格(更严格) PSR-3:日志记录器接口...),为了符合PSR-3规范,框架必须实现该规范中的接口,这样可以更多的兼容第三方应用。...-4 PSR-4规范描述了一个标准的自动加载器策略,指在运行时按需查找PHP类、接口或Traits。...编写一个PSR-4自动加载器 PSR-4规范不要求改变代码的实现方式,只建议如何使用文件系统目录结构和PHP命名空间组织代码,PSR-4规范以来PHP命名空间和文件系统目录结构查找并加载PHP类、接口和
概述仔细的缕了一下关于PHP代码的书写规范,我发现我确实有很多不足的地方,需要改进,PHP代码遵循PSR(PHP Standard Recommendation)规范,之前忘了看那本书到psr4,psr4...优化的是composer的依赖倒置,现在已经到psr18了,官网链接 php-fig 。...= $token; $params = http_build_query($data); return $params;}7.代码列 最好不要超过 120,单个函数 不要超过 100 行(psr2...readability and to indicate related blocks of code.There MUST NOT be more than one statement per line.8.psr14...10.PHPstrom的设置,命名规范还有个小窍门,如果是命名不规范,PHPstrom会提示绿色波浪线,注释不规范就会提示黄色波浪线,下面是不规则的Demo。
本篇规范是 PSR-1基本代码规范的继承与扩展。 本规范希望通过制定一系列规范化 PHP 代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。...当多名程序员在多个项目中合作时,就需要一个共同的编码规范, 而本文中的风格规范源自于多个不同项目代码风格的共同特性, 因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。 ? 1....概览 代码 必须 遵循 [PSR-1] 中的编码规范 。 代码 必须 使用 4 个空格符而不是「Tab 键」进行缩进。...基本编码准则 代码 必须 符合 PSR-1 中的所有规范。 2.2. 文件 所有 PHP 文件 必须 使用 Unix LF (linefeed) 作为行的结束符。...软性的长度约束 必须 要限制在 120 个字符以内,若超过此长度,带代码规范检查的编辑器 必须 要发出警告,不过 一定不可 发出错误提示。
PSR-0自动加载规范 此规范已被弃用 - 本规范已于 2014 年 10 月 21 日被标记为弃用,目前最新的替代规范为 PSR-4 。...本文是为自动加载器(autoloader)实现通用自动加载,所需要遵循的编码规范。...规范说明 一个标准的 命名空间 (namespace) 与 类 (class) 名称的定义必须符合以下结构: \\(\)*; 其中..., 可通过以下的示例函数 SplClassLoader 载入 PHP 5.3 的类文件,来验证你所写的命名空间以及类是否符合以上规范。...实例 以下示例函数为本规范的一个简单实现。 1<?
PSR-3 日志接口规范 本文制定了日志类库的通用接口规范。 本规范的主要目的,是为了让日志类库以简单通用的方式,通过接收一个 Psr\Log\LoggerInterface 对象,来记录日志信息。...框架以及 CMS 内容管理系统如有需要,可以 对此接口进行扩展,但需遵循本规范, 这才能保证在使用第三方的类库文件时,日志接口仍能正常对接。...规范 基本规范 LoggerInterface 接口对外定义了八个方法,分别用来记录 RFC 5424 中定义的八个等级的日志:debug、 info、 notice、 warning、 error、...组成,其它字符作为将来占位符规范的保留。 实现者 可以 通过对占位符采用不同的转义和转换策略,来生成最终的日志。 而使用者在不知道上下文的前提下,不应该 提前转义占位符。...Psr\Log\LogLevel 19<?
1.5 PSR编码规范 1.5.1 概述 PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。...网址:http://psr.phphub.org/ ? 1.5.2 PSR-1 基础编码规范 1、PHP代码文件 必须 以 <?php 或 <?...= 标签开始 2、类的命名大写开头的驼峰命名规范 3、类中的常量所有字母都必须大写,单词间用下划线分隔 4、方法名称必须符合小写开头驼峰命名规范5、 副作用:(side effects),一个文件只做一件事情...,如果做了其他事情就是产生了副作用 不产生副作用:一个文件只做一件事 产生副作用:一个文件做了多件事情 1.5.3 PSR-2 编码风格规范 代码 必须 使用 4 个空格符而不是「Tab 键」进行缩进
PSR-4 自动加载规范 PSR-4 描述了从文件路径中 自动加载 类的规范。 它拥有非常好的兼容性,并且可以在任何自动加载规范中使用,包括 PSR-0。...PSR-4 规范也描述了放置 autoload 文件(就是我们经常引入的 vendor/autoload.php)的位置。...规范 术语class指的是类(classes)、接口(interfaces)、特征(traits)和其他类似的结构。...下划线在全限定类名中没有任何特殊含义(在 PSR-0 中下划是有含义的)。 全限定类名可以是任意大小写字母的组合。 所有类名的引用必须区分大小写。...示例中的自动加载器禁止被视为规范的一部分,它随时都可能发生改变。
PHP-FIG 在说啥是PSR-[0-4]规范的之前,我觉得我们有必要说下它的发明者和规范者:PHP-FIG。...就是这个联盟组织发明和创造了PSR-[0-4]规范 FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009...1 基础编码规范 PSR-1 2 编码风格规范 PSR-2 3 日志接口规范 PSR-3 4 自动加载规范 PSR-4 6 缓存接口规范 PSR-6 7 HTTP 消息接口规范 ---- 基础编码规范...PHP代码文件 以 或 标签开始; PHP代码文件 以 不带 BOM 的 UTF-8 编码; 命名空间以及类 符合 PSR 的自动加载规范:[PSR-4]() 中的一个; 方法名称 符合...---- 编码风格规范 代码遵守 PSR-1。 代码使用4个空格来进行缩进,而不是用制表符。 一行代码的长度有硬限制;软限制为120个字符,每行代码80个字符或者更少。
一、PSR0简介 下文描述了若要使用一个通用的自动加载器(autoloader),你所需要遵守的规范: 一个完全标准的命名空间(namespace)和类(class)的结构是这样的:\<Vendor...参考:http://www.php-fig.org/psr/psr-0/ 以下,列出PSR0构建的规范类的几种形式: ?...简介 这个 PSR 描述的是通过文件路径自动载入类的指南;它作为对 PSR-0 的补充;根据这个 指导如何规范存放文件来自动载入; 术语「类」是一个泛称;它包含类,接口,traits 以及其他类似的结构...首先,\Symfony\Core\Request和\Zend\Acl很好理解,其满足PSR0规范,但是\Acme\Log\Writer\File_Writer就不太好理解了。.../acme-log-writer/lib/' 使用自动加载时,先通过名称空间的前缀,找到对应的映射路径,在根据PSR0规范找到对应的类定义文件。
PSR-2 编码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展。 本规范希望通过制定一系列规范化 PHP 代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。...当多名程序员在多个项目中合作时,就需要一个共同的编码规范, 而本文中的风格规范源自于多个不同项目代码风格的共同特性, 因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。...概览 代码 必须 遵循 PSR-1 中的编码规范 。 代码 必须 使用 4 个空格符而不是 Tab 键 进行缩进。...final public static function bar() 22 { 23 // method body 24 } 25} 通则 基本编码标准 代码 必须 符合 PSR...-1 中的所有规范。
PSR-6 缓存接口规范 缓存是提升应用性能的常用手段,为框架中最通用的功能,每个框架也都推出专属的、功能多样的缓存库。这些差别使得开发人员不得不学习多种系统,而很多可能是他们并不需要的功能。...目标 本 PSR 的目标是:创建一套通用的接口规范,能够让开发人员整合到现有框架和系统,而不需要去开发框架专属的适配器类。...定义 调用类库 (Calling Library) - 调用者,使用缓存服务的类库,这个类库调用缓存服务,调用的 是此缓存接口规范的具体「实现类库」,调用者不需要知道任何「缓存服务」的具体实现。...实现类库 (Implementing Library) - 此类库是对「缓存接口规范」的具体实现,封装起来的缓存服务,供「调用类库」使用。...缓存系统里的错误 不得 导致应用程序故障,所以,实现类库 不得 抛出任何除了此接口规范定义的以外的异常,并且 必须 捕捉包括底层存储驱动抛出的异常,不让其冒泡至超出缓存系统内。
PSR-12 编码规范扩充 概览 此规范起到继承,扩展和替换 PSR-2 的作用, 同时编码风格遵守 PSR-1 这个基础编码标准。...与 PSR-2 一样, 此规范的目的是减少不同人在阅读代码时认知冲突。 它通过列举一套如何格式化 PHP 代码的公共的规则和期望来实现这个目标。...PSR-2 在 2012 年被接受,随后 PHP 经历了很多变化,影响了编码风格。同时 PSR-2 是 PHP 编码时候的基础功能,被广泛的采用。...因此,PSR 力图通过一种更加现代的方式说明 PSR-2 的内容和新功能,并对 PSR-2 进行更正。...PSR-1 中的术语 StudlyCaps 必须解释为 PascalCase (帕斯卡命名法:大驼峰式命名法),其中每个单词的第一个字母大写,包括第一个字母。
PSR-1 基础编码规范 本篇规范制定了代码基本元素的相关标准,以确保共享的 PHP 代码间具有较高程度的技术互通性。...的自动加载规范: [PSR-0(已废弃)或 PSR-4] 中的一个 类的命名 必须 遵循 StudlyCaps 大写开头的驼峰命名规范 类中的常量所有字母都 必须 大写,单词间用下划线分隔 方法名称...必须 符合 camelCase 式的小写开头驼峰命名规范 2....命名空间和类名 命名空间和类名 必须 遵循 [自动加载] 规范: [PSR-0, PSR-4]。...方法 方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范。
摘要: FIG-PHP工作组推出的PSR-4规范能够满足面向package的自动加载,它规范了如何从文件路径自动加载类,同时规范了自动加载文件的位置。 1. ...PSR-4规范:自动加载 虽然在[PSR-4-Meta]中指出PSR-4是对PSR-0规范的补充而不是替换,但是在[PSR-0]中已经写到PSR-0于2014.10.21被废弃,并在[PSR-4-Meta...PSR-4规范能够满足面向package的自动加载,它规范了如何从文件路径自动加载类,同时规范了自动加载文件的位置。 1.1 概述 这份PSR规范描述了从文件路径自动加载类。...可以与PSR-0规范互操作,可以一起使用。这份PSR也描述了自动加载的文件应当放在哪里。...这些实现样例一定不能(MUST NOT)被视为本规范的内容,它们可能(MAY)随时发生改变。 2. 代码样例 以下代码展示了遵循PSR-4的类定义, 闭包(Closure)举例: <?
命名空间和类必须遵循一个“自动加载”规范:[PSR-0, PSR-4]。 类名称必须声明为StudlyCaps的形式,即名称中每个单词首字母大写。 类常量必须只使用大写字母,用下划线来做单词间隔离。...function_exists('bar')) { function bar() { // function body } } 四、命名空间和类名称 命名空间和类必须遵循一个“自动加载”规范...:[PSR-0, PSR-4]。...文章作者ianzhi,原文地址:https://www.dnote.cn/users/ianzhi/posts/php-psr-1 文章版权归作者所有,转载请保留此声明。
PSR-7 HTTP 消息接口规范 此文档描述了 RFC 7230 和RFC 7231 HTTP 消息传递的接口,还有 RFC 3986 里对 HTTP 消息的 URIs 使用。...Psr\Http\Message\RequestInterface 和 Psr\Http\Message\ResponseInterface 继承于 Psr\Http\Message\MessageInterface...当接口 Psr\Http\Message\MessageInterface 可能被直接实现的时候,实现者应该实现 Psr\Http\Message\RequestInterface 接口和 Psr\Http...getUploadedFiles() 将为开发者提供规范化的结构。...102 * 103 * 这个方法会规范化返回的上传文件元数据树结构,每个叶子结点都是 `Psr\Http\Message\UploadedFileInterface` 实例。
PSR 是PHP Standard Recommendation的简写,它其实应该叫PSRs,即系列推荐标准:目前通过的规范有PSR-0(Autoloading Standard)、PSR-1(Basic...这些成员制定规范,并且落实在自己的项目中。 其实各个PSR规范的内容都很简洁明了,比起那些动则几十页的规范,真是好太多了。...PSR-0(Autoloading Standard) PSR-0即类自动加载规范(原文:官网、GitHub)。从2014-10-21日起,该规范被标记为Deprecated,由PSR-4替代。...用一个本规范中未定义且不为具 体实现所知的日志等级来调用该方法必须抛出一个Psr\Log\InvalidArgumentException。...PSR-4(Improved Autoloading) PSR-4即改进版的自动加载规范(原文:官网、GitHub)。它是PSR-0规范的接替者。它可以与任何其它的自动加载规范兼容,包括PSR-0。
有关PSR-4的详细介绍,请参阅其官方页面(http://www.php-fig.org/psr/psr-4/)。 2 PSR-1, PSR-2 PSR-1和PSR-2的标准是关于PHP编码的标准。...从PSR-2中都可以找到您需要的任何规范。为了实现可互操作性,我们非常鼓励您根据此标准调整您的代码。...4 PSR规范 我们已经简要地总结了每个PSR规范,现在您应该了解每个PSR规范的用途。...当你需要每个PSR的详细规范时,你应该参考以下官方页面: PSR-1: http://www.php-fig.org/psr/psr-1/ PSR-2: http://www.php-fig.org/psr.../psr-2/ PSR-3: http://www.php-fig.org/psr/psr-3/ PSR-4: http://www.php-fig.org/psr/psr-4/ PSR-7: http
https://github.com/PizzaLiu/PHP-FIG PSR(Proposing a Standards Recommondation 建议重新修订标准), 即PHP编码规范,目前PSR...更新为2016.5.26的PSR4,后续我们将持续关注。...PSR(Proposing a Standards Recommendation),PHP编码规范: PHP代码必须使用标签:<?...命名空间以及类名必须遵循PSR-4; 常量所有字母大写,词间以下划线分割;类属性可驼峰式,可下划线,可小写驼峰式;方法名必须符合小写驼峰式开头的命名规范; 代码必须符合PSR-1中所有规范; 所有PHP...文件路径载入规范,autoload:类名==》文件名==》文件磁盘路径; 此处类泛指所有的class类、接口、traits可复用代码块以及其他类似结构; 一个完整的类名具有以下结构: \(\
不管是什么框架,就拿 ThinkPHP 框架来说,官方文档明确说明:ThinkPHP5.1遵循PSR-2命名规范和PSR-4自动加载规范。这就引出了本篇博文的内容:PSR 是什么?...方法的命名和类的命名方式有些相似,不过还是有些区别的,类的命名规定首字母大写ShenYan,而方法的命名规定首字母小写shenYan PSR-2:编码风格规范 PSR-2规范是在PSR-1基本代码规范的继承与扩展...,PSR-1 是更为严格的代码规范。...例如:开发的时候把调试信息写入到文本文件,把网站的流量统计信息记录到数据库等 PSR-3 规范出来之后,达到这种效果的组件太多了,这里就不介绍,如何实现这个接口的类了 PSR-4:自动加载规范 PSR-...框架,laravel、Yii、TP5 等都使用了依赖 Composer 的自动加载器策略,方便我们下载组件和引入合适的类 PSR-ME:制定自己的 PHP 规范 遵循 PSR-1、PSR-2 的使用规范
领取专属 10元无门槛券
手把手带您无忧上云