当前位置: 首页 > news >正文

企业展示型网站建设方案django网站开发视频教程下载

企业展示型网站建设方案,django网站开发视频教程下载,简洁大气的网站首页,网站设计郑州一、PSR规范整理 PHP 已有的编码规范如下 https://blog.csdn.net/qq_40876291/article/details/103848172 1.1 基本编码规范&#xff1a;PSR1 官网规范链接 https://www.php-fig.org/psr/psr-1/ 文件只能使用<?php和<?标记。文件必须仅使用UTF-8&#xff0c;而不使…

一、PSR规范整理

PHP 已有的编码规范如下

https://blog.csdn.net/qq_40876291/article/details/103848172

1.1 基本编码规范:PSR1

官网规范链接 https://www.php-fig.org/psr/psr-1/

  1. 文件只能使用<?php和<?=标记。
  2. 文件必须仅使用UTF-8,而不使用BOM用于PHP代码。
  3. 文件应该要么声明符号(类、函数、常量等),要么引起副作用(例如,生成输出、更改Ini 设置等) ,但不应同时包含这两项操作
  4. 命名空间和类必须遵循“自动加载” PSR:[ PSR-0,PSR-4 ]。
  5. 类名必须在以驼峰大小写格式命名。(首字母及所有子字首字母都大写,示例 StudlyCaps )
  6. 类常量所有字母必须为大写,子字之间用下划线分隔。
  7. 方法名必须以驼峰式声明。(首字母小写,所有子字首的字母都大写,示例 studlyCaps )

1.2 PSR2 编码风格指南(已废弃)

官网规范链接 https://www.php-fig.org/psr/psr-2/

  1. 代码必须遵照 PSR-1。
  2. 函数代码必须使用4个空格的缩进,而不是制表符。
  3. 一行代码长度不该硬性限制;软限制必须为120个字符;应为80个字符或者更少。
  4. 在namespace声明下面必须有一个空行,而且use声明代码块下面也必须有一个空行。
  5. 类的左花括号必须放到下一行,右花括号必须放在类主体的下一行。
  6. 方法的左花括号必须放在下一行,右花括号必须放在方法主体下面。
  7. 全部的属性和方法必须有可见性(即:Public, Protect,
    Private)声明;abstract和final声明必须在可见性以前;static声明必须在可见性以后。
  8. 控制结构的关键词必须在后面有一个空格; 方法和函数不可有。
  9. 控制结构的左花括号必须放在同一行,右花括号必须放在控制主体的下一行。
  10. 控制结构的左括号后面不可有空格,右括号以前不可有空格。

1.3 PSR12 扩展编码规范

官网规范链接 https://www.php-fig.org/psr/psr-12/

1.3.1 基本编码标准

代码必须遵循PSR-1中列出的所有规则。

1.3.2 文件

  1. 所有PHP文件必须仅使用Unix LF(换行)行结尾。
  2. 所有PHP文件必须以非空白行结束,以单个LF结束。
  3. ?>必须从仅包含PHP的文件中省略结束标记。

1.3.3 行

  1. 行长度不得有硬性限制。
  2. 行长度的软限制必须是120个字符。
  3. 行不应超过80个字符; 超过的行应该被分成多个后续行,每行不超过80个字符。
  4. 在行的末尾不得有尾随空格。
  5. 可以添加空行以提高可读性并指示相关的代码块,除非明确禁止。
  6. 每行不得超过一个语句。

1.3.4缩进

代码必须为每个缩进级别使用4个空格的缩进,并且不得使用制表符进行缩进。

1.3.5关键字和类型

  1. 所有PHP保留的关键字和类型必须是小写的。
  2. 添加到未来PHP版本的任何新类型和关键字必须是小写的。
  3. 类型的关键字的简短形式必须是即使用bool代替boolean, int而不是integer等

1.3.6.声明语句,命名空间和导入语句

PHP文件的标头可能包含许多不同的块。如果存在,下面的每个块必须用一个空行分隔,并且不得包含空行。尽管可以省略不相关的块,但每个块必须按下面列出的顺序排列。

  1. 打开<?php标签。
  2. 文件级docblock。
  3. 一个或多个声明语句。
  4. 文件的命名空间声明。
  5. 一个或多个基于类的use import语句。
  6. 一个或多个基于函数的use import语句。
  7. 一个或多个基于常量的use import语句。
  8. 文件中的其余代码。

当文件包含HTML和PHP的混合时,仍可以使用上述任何部分。如果是这样,它们必须出现在文件的顶部,即使代码的其余部分包含一个结束的PHP标记,然后是HTML和PHP的混合。

当开始<?php 标记位于文件的第一行时,它必须在它自己的行上而没有其他语句,除非它是包含PHP开始和结束标记之外的标记的文件。

导入语句绝不能以前导反斜杠开头,因为它们必须始终是完全限定的。

1.4 自动加载规范:PSR0(已废弃)

  1. 一个完全合格的namespace和class必须符合这样的结构:“< Vendor Name>(< Namespace>)*< Class Name>”
  2. 每个namespace必须有一个顶层的namespace(”Vendor Name”提供者名字)
  3. 每个namespace可以有多个子namespace
  4. 当从文件系统中加载时,每个namespace的分隔符(/)要转换成DIRECTORY_SEPARATOR(操作系统路径分隔符)
  5. 在类名中,每个下划线()符号要转换成DIRECTORY_SEPARATOR(操作系统路径分隔符)。在namespace中,下划线()符号是没有(特殊)意义的。
  6. 当从文件系统中载入时,合格的namespace和class一定是以 .php 结尾的
  7. verdor name,namespaces,class名可以由大小写字母组合而成(大小写敏感的)

1.5 自动加载规范 PSR4

官网规范链接 https://www.php-fig.org/psr/psr-4/

PSR-4 描述了从文件路径中 自动加载 类的规范。 它拥有非常好的兼容性,并且可以在任何自动加载规范中使用,包括 PSR-0。 PSR-4 规范也描述了放置 autoload 文件(就是我们经常引入的 vendor/autoload.php)的位置。

1.5.1 术语

「class」指的是类(classes)、接口(interfaces)、特征(traits)和其他类似的结构。

全限定类名具有以下形式:

<NamespaceName>(<SubNamespaceNames>)*<ClassName>
全限定类名必须拥有一个顶级命名空间名称,也称为供应商命名空间(vendor namespace)。

全限定类名可以有一个或者多个子命名空间名称。

全限定类名必须有一个最终的类名(我想意思应该是你不能这样 <NamespaceName>(<SubNamespaceNames>)*\ 来表示一个完整的类)。

下划线在全限定类名中没有任何特殊含义(在 PSR-0 中下划是有含义的)。

全限定类名可以是任意大小写字母的组合。

所有类名的引用必须区分大小写。

全限定类名的加载过程

在全限定的类名(一个「命名空间前缀」)中,一个或多个前导命名空间和子命名空间组成的连续命名空间,不包括前导命名空间的分隔符,至少对应一个「根目录」。

「命名空间前缀」后面的相邻子命名空间与根目录下的目录名称相对应(且必须区分大小写),其中命名空间的分隔符表示目录分隔符。

最终的类名与以.php 结尾的文件名保持一致,这个文件的名字必须和最终的类名相匹配(意思就是如果类名是 FooController,那么这个类所在的文件名必须是 FooController.php)。

自动加载文件禁止抛出异常,禁止出现任何级别的错误,也不建议有返回值。

二、sonar 对PHP 编码规范的支持

用codesniffer 进行代码规范检查,命令如下

  • ./vendor/bin/phpcs --colors --standard=PSR1,PSR12 --encoding=utf-8 --tab-width=4 ./src

规范包括 PSR1 + PSR12 + utf-8编码 + tab用4个空白符表示

目前 sonarqube 内置的PHP编码规则集包括

  1. Drupal 21条规则
  2. PSR-2 20条规则
  3. Sonar way 161条规则

其中Sonar way 为默认的规则

由于PSR2 涵盖了PSR1,并且包含了 utf-8编码,tab用4个空白符表示这两点,所以主要就是看 PSR12的支持情况。

参考

PHP 技术论坛文档:《PHP PSR 标准规范》 https://learnku.com/docs/psr/psr-4-autoloader/1608

http://www.yayakq.cn/news/216869/

相关文章:

  • 杭州市富阳区建设局网站创app开发 杭州app开发公司
  • 临沂集团网站建设北京网站建设公司排行榜
  • 丹徒网站建设多少钱谷歌google
  • 网站备案查询 站长的怎么实现网站接入网方式
  • 大连网站设计培训班河南浪博网站建设
  • vpsputty做网站链接平台
  • 许昌市做网站公司汉狮价格阜宁网站制作公司报价
  • 南宁网站平台中国公司排行榜前十名
  • 制作网站计划书平面设计班需要学多久
  • 电子商务如何做网站销售厦门微网站建设公司哪家好
  • 免费开源建站系统源码交互式网站模板
  • 重庆网站建站建设的费用成都专业网站制作哪家好
  • 做游戏网站多钱建设行政主管部门政务网站
  • 怎么建免费企业官网站网站flash背景
  • 设计师招聘网站推荐知名做网站公司
  • 网站栏目类别是什么意思东莞市网站设计
  • 青海网站建设与制作开发做网站公司
  • 网站举报查询移动网站功能
  • 怎么查看网站是哪家公司做的长沙传媒公司招聘信息
  • 设计师门户网站源码专业建设专业网站制作公司
  • 网站如何快速被收录中国工程有限公司
  • 网站建设与管理指什么国内网站建设推荐
  • 企业营销型网站公司汕头网站建设公司
  • 济宁网站建设方面自动的微信小程序开发
  • 南宁网站建设 超博网络平台网站建设方案标书
  • 论文收录网站有哪些商务公司网站建设
  • ps制作网站效果图网站备案图标
  • 免费建站自己的网址高端网站制作上海站霸科技
  • 珠海做网站的公司有哪些自适应网站制作方案
  • 网站备案 人在上海有哪些可以做网站的平台